index.cgi
changeset 16 4a40718c7b4b
parent 11 fa216534ae45
child 31 107062ebb6f9
--- a/index.cgi	Sat Feb 07 02:24:59 2009 +0200
+++ b/index.cgi	Sat Feb 07 02:46:58 2009 +0200
@@ -8,8 +8,18 @@
 # CGI handler for WSGI
 import wsgiref.handlers
 
-# our WSGI app
-from lib import wsgi
+def cgi_error () :
+    """
+        Dumps out a raw traceback of the current exception to stdout, intended for use from except
+    """
+
+    import traceback, sys
+
+    print 'Status: 500 Internal Server Error\r'
+    print 'Content-type: text/plain\r'
+    print '\r'
+
+    traceback.print_exc(100, sys.stdout)
 
 def cgi_main () :
     """
@@ -17,27 +27,22 @@
     """
 
     try :
-        from lib import page
+        from lib import page_tree
 
         # load page list
-        page.load_page_tree()
+        page_tree.load()
+        
+        # our WSGI app
+        from lib import wsgi
+
+        # create handler
+        cgi_handler = wsgiref.handlers.CGIHandler()
+        
+        # run once
+        cgi_handler.run(wsgi.app)
 
     except :
-        import traceback, sys
-
-        print 'Status: 500 Internal Server Error\r'
-        print 'Content-type: text/plain\r'
-        print '\r'
-
-        traceback.print_exc(100, sys.stdout)
-
-        return
+        cgi_error()
     
-    # create handler
-    cgi_handler = wsgiref.handlers.CGIHandler()
-    
-    # run once
-    cgi_handler.run(wsgi.app)
-
 if __name__ == '__main__' :
     cgi_main()