CGI Skript <-> modPython

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 12. Oktober 2006, 16:55

Ich hab mal [wiki]Web-Skripte zum laufen bringen[/wiki]erweitert mit Info's zu modPython...

Ich hatte nämlich gerade den Fall, das PyLucid wohl als modPython ausgeführt wird und so nicht wirklich läuft (Wenn der wsgiref CGI-Handler genommen wird)...
Das Problem ist, das der User nicht's sieht und denkt, scheiße geht nicht... Ich hab nun versucht das irgendwie Abzufangen...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 12. Oktober 2006, 17:38

So, ich hab mal versucht das auch direkt in PyLucid umzusetzten, damit Leute besseren Feedback bekommen, wenn es nicht laufen sollte...

Ich hab da jetzt mal sowas gemacht:

Code: Alles auswählen

class CGI_Error(Exception):
    def __init__(self, e, txt):
        print "Content-type: text/html; charset=utf-8\r\n\r\n"
        print "<h1>PyLucid - Low Level Error:</h1>"

        ...
        msg = "PyLucid Low Level Error: %s - %s" % (txt, e)

        import sys
        sys.stderr.write(msg)

        raise SystemExit(msg)
Dabei Frage ich mich, ob die beiden letzten Zeilen wirklich Sinn machen könnten?
Mit stderr.write denke ich, werden die Sachen in der Apache-Log hinterlegt. Bei SystemExit(), weiß ich nicht in welcher Situation das helfen könnte :)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 12. Oktober 2006, 19:23

Dein raise SystemExit ist sehr seltsam, denn normalerweise macht man ja raise CGIError("Nachricht"), das heißt, Exceptions raisen nicht von selbst Exceptions. So kann man zum Beispiel Exceptions auch instanziieren, ohne dass die Exception dadurch ausgelöst wird. Lazy evalutation, somehow :)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten