Seite 1 von 1

Colubrid WSGI Traceback

Verfasst: Dienstag 17. Januar 2006, 06:42
von mitsuhiko
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?

Verfasst: Dienstag 17. Januar 2006, 07:44
von jens
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:

Verfasst: Dienstag 17. Januar 2006, 14:34
von mitsuhiko
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 :)

Verfasst: Sonntag 22. Januar 2006, 12:29
von mitsuhiko
Sodale. Hab das jetzt 1:1 nach Colubrid übernommen.