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?
Colubrid WSGI Traceback
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
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: 
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

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

-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Gute Idee. Ich schau mal, wie ich das am Besten unterkriege.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.
Ich jag alles durch pprint durch. __str__ gibt zu wenig info aus.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.
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:Was vielleicht auch nett wäre: optional ein help(object) zu habenEinmal zu den beteiligten Dateien selber, also z.B. debug.py, application.py, test.py und auch zu den beteiligten Objekten...
Erweiterbar ist er, aber an Colubrid gebunden. Zumindest momentan noch. Evtl kann ich den ja später generell WSGI kompatibel machen.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.
Aua. Das ist nicht threadsafe und deswegen auch nicht drinjens hat geschrieben:Ach, was da für mich auch ganz wichtig ist:Code: Alles auswählen
sys.stdout = sys.__stdout__ # Evtl. redirectered stdout wiederherstellen

TUFKAB – the user formerly known as blackbird