index.cgi
changeset 16 4a40718c7b4b
parent 11 fa216534ae45
child 31 107062ebb6f9
equal deleted inserted replaced
15:e2fe2baa7910 16:4a40718c7b4b
     6 """
     6 """
     7 
     7 
     8 # CGI handler for WSGI
     8 # CGI handler for WSGI
     9 import wsgiref.handlers
     9 import wsgiref.handlers
    10 
    10 
    11 # our WSGI app
    11 def cgi_error () :
    12 from lib import wsgi
    12     """
       
    13         Dumps out a raw traceback of the current exception to stdout, intended for use from except
       
    14     """
       
    15 
       
    16     import traceback, sys
       
    17 
       
    18     print 'Status: 500 Internal Server Error\r'
       
    19     print 'Content-type: text/plain\r'
       
    20     print '\r'
       
    21 
       
    22     traceback.print_exc(100, sys.stdout)
    13 
    23 
    14 def cgi_main () :
    24 def cgi_main () :
    15     """
    25     """
    16         Run in CGI mode
    26         Run in CGI mode
    17     """
    27     """
    18 
    28 
    19     try :
    29     try :
    20         from lib import page
    30         from lib import page_tree
    21 
    31 
    22         # load page list
    32         # load page list
    23         page.load_page_tree()
    33         page_tree.load()
       
    34         
       
    35         # our WSGI app
       
    36         from lib import wsgi
       
    37 
       
    38         # create handler
       
    39         cgi_handler = wsgiref.handlers.CGIHandler()
       
    40         
       
    41         # run once
       
    42         cgi_handler.run(wsgi.app)
    24 
    43 
    25     except :
    44     except :
    26         import traceback, sys
    45         cgi_error()
    27 
       
    28         print 'Status: 500 Internal Server Error\r'
       
    29         print 'Content-type: text/plain\r'
       
    30         print '\r'
       
    31 
       
    32         traceback.print_exc(100, sys.stdout)
       
    33 
       
    34         return
       
    35     
    46     
    36     # create handler
       
    37     cgi_handler = wsgiref.handlers.CGIHandler()
       
    38     
       
    39     # run once
       
    40     cgi_handler.run(wsgi.app)
       
    41 
       
    42 if __name__ == '__main__' :
    47 if __name__ == '__main__' :
    43     cgi_main()
    48     cgi_main()