index.cgi
author Tero Marttila <terom@fixme.fi>
Sat, 07 Feb 2009 02:24:59 +0200
changeset 157 26f6c83ff0d1
parent 153 01f5ef2890c4
child 16 4a40718c7b4b
permissions -rwxr-xr-x
remove old index.py
148
7ffce543a6f1 start breaking everything
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
#!/usr/bin/python2.5
149
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
     2
# :set filetype=py encoding=utf8
148
7ffce543a6f1 start breaking everything
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
149
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
     4
"""
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
     5
    CGI implementation
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
     6
"""
148
7ffce543a6f1 start breaking everything
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
149
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
     8
# CGI handler for WSGI
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
     9
import wsgiref.handlers
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    10
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    11
# our WSGI app
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    12
from lib import wsgi
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    13
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    14
def cgi_main () :
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    15
    """
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    16
        Run in CGI mode
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    17
    """
153
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    18
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    19
    try :
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    20
        from lib import page
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    21
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    22
        # load page list
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    23
        page.load_page_tree()
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    24
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    25
    except :
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    26
        import traceback, sys
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    27
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    28
        print 'Status: 500 Internal Server Error\r'
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    29
        print 'Content-type: text/plain\r'
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    30
        print '\r'
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    31
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    32
        traceback.print_exc(100, sys.stdout)
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    33
01f5ef2890c4 funky PageTree stuff
Tero Marttila <terom@fixme.fi>
parents: 149
diff changeset
    34
        return
149
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    35
    
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    36
    # create handler
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    37
    cgi_handler = wsgiref.handlers.CGIHandler()
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    38
    
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    39
    # run once
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    40
    cgi_handler.run(wsgi.app)
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    41
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    42
if __name__ == '__main__' :
0538176eb172 YES YES MOAR WSGI - Hello World
Tero Marttila <terom@fixme.fi>
parents: 148
diff changeset
    43
    cgi_main()