Colubrid WSGI Traceback

Du hast eine Idee für ein Projekt?
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Colubrid WSGI Traceback

Beitragvon mitsuhiko » Dienstag 17. Januar 2006, 06:42

Also. Es geht um einen Rewrite des CGItb Moduls. Mein aktueller Ansatz sieht gerendert so aus: http://pocoo.org/~blackbird/traceback.html

Jetzt hab ich aber von mehreren Leute bereits erfahren, dass es unübersichtlich ist. Was also wäre euer Vorschlag?
TUFKAB – the user formerly known as blackbird
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 17. Januar 2006, 07:44

Ich würde gleich vorweg schon mal die lokalen Varianblen anzeigen, die in der Fehlerzeile vorkommen. z.B. line und result in deinem ersten Block for line in result: Die restlichen Variablen kann man sich dann aufklappen.

Was dazu vielleicht auch nett ist: Zu versuchen die repr oder str der Variable anzeigen zu lassen: z.B. im zweiten Block, wird e als <exceptions.RuntimeError instance at 0xb78f832c> angezeigt, wenn man aber ein print e machen würde, würde man einen Text sehen, der interessanter ist.

Was vielleicht auch nett wäre: optional ein help(object) zu haben ;) Einmal zu den beteiligten Dateien selber, also z.B. debug.py, application.py, test.py und auch zu den beteiligten Objekten...

Und den klartext Traceback im Quellen-Text würde ich besser ganz nach oben in die Seite packen, damit man ihn direkt sieht.

Ich weiß jetzt nicht, wie dein traceback aufgebaut ist... Schön wäre aber, wenn man ihn so leicht modifizieren kann, wie der alte... z.B. mache ich das momentan so: http://pylucid.python-hosting.com/file/trunk/index.py (Die zweite Klasse cgitb_addon) Das ganze wird dann einfach drangepackt mit: cgitb.reset = cgitb_addon(self.PyLucid)
So kann ich spezielle PyLucid-Spezifische Sachen anzeigen, die mir evtl. helfen können.

Ach, was da für mich auch ganz wichtig ist:

Code: Alles auswählen

sys.stdout = sys.__stdout__ # Evtl. redirectered stdout wiederherstellen
:lol:

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Dienstag 17. Januar 2006, 14:34

jens hat geschrieben:Ich würde gleich vorweg schon mal die lokalen Varianblen anzeigen, die in der Fehlerzeile vorkommen. z.B. line und result in deinem ersten Block for line in result: Die restlichen Variablen kann man sich dann aufklappen.

Gute Idee. Ich schau mal, wie ich das am Besten unterkriege.

jens hat geschrieben:Was dazu vielleicht auch nett ist: Zu versuchen die repr oder str der Variable anzeigen zu lassen: z.B. im zweiten Block, wird e als <exceptions.RuntimeError instance at 0xb78f832c> angezeigt, wenn man aber ein print e machen würde, würde man einen Text sehen, der interessanter ist.

Ich jag alles durch pprint durch. __str__ gibt zu wenig info aus.

jens hat geschrieben:Was vielleicht auch nett wäre: optional ein help(object) zu haben ;) Einmal zu den beteiligten Dateien selber, also z.B. debug.py, application.py, test.py und auch zu den beteiligten Objekten...


Und den klartext Traceback im Quellen-Text würde ich besser ganz nach oben in die Seite packen, damit man ihn direkt sieht.

jens hat geschrieben:Ich weiß jetzt nicht, wie dein traceback aufgebaut ist... Schön wäre aber, wenn man ihn so leicht modifizieren kann, wie der alte... z.B. mache ich das momentan so: http://pylucid.python-hosting.com/file/trunk/index.py (Die zweite Klasse cgitb_addon) Das ganze wird dann einfach drangepackt mit: cgitb.reset = cgitb_addon(self.PyLucid)
So kann ich spezielle PyLucid-Spezifische Sachen anzeigen, die mir evtl. helfen können.

Erweiterbar ist er, aber an Colubrid gebunden. Zumindest momentan noch. Evtl kann ich den ja später generell WSGI kompatibel machen.

jens hat geschrieben:Ach, was da für mich auch ganz wichtig ist:

Code: Alles auswählen

sys.stdout = sys.__stdout__ # Evtl. redirectered stdout wiederherstellen
:lol:

Aua. Das ist nicht threadsafe und deswegen auch nicht drin :)
TUFKAB – the user formerly known as blackbird
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Sonntag 22. Januar 2006, 12:29

Sodale. Hab das jetzt 1:1 nach Colubrid übernommen.
TUFKAB – the user formerly known as blackbird

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder