annotate Mac/Demo/cgi/realcgitest.py @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents 3545ab43a72a
children 6fc920c90640
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4242
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 """cgitest - A minimal CGI applet. Echos parameters back to the client.
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2 """
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
3
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
4 from MiniAEFrame import AEServer, MiniApplication
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
5
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
6 class CGITest(AEServer, MiniApplication):
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8 def __init__(self):
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9 MiniApplication.__init__(self)
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10 AEServer.__init__(self)
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11 self.installaehandler('aevt', 'oapp', self.open_app)
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12 self.installaehandler('aevt', 'quit', self.quit)
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13 self.installaehandler('WWW\275', 'sdoc', self.cgihandler)
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14 self.mainloop()
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
15
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
16 def quit(self, **args):
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
17 self.quitting = 1
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
18
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
19 def open_app(self, **args):
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
20 pass
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
21
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
22 def cgihandler(self, pathargs, **args):
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
23 rv = """HTTP/1.0 200 OK
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
24 Server: NetPresenz; python-cgi-script
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
25 MIME-Version: 1.0
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
26 Content-type: text/html
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
27
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
28 <title>Python CGI-script results</title>
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
29 <h1>Python CGI-script results</h1>
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
30 <hr>
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
31 """
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
32 rv = rv+'<br><b>Direct object:</b> %s\n'%pathargs
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
33
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
34 for key in args.keys():
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
35 if key[0] != '_':
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
36 rv = rv + '<br><b>%s:</b> %s\n'%(key, args[key])
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
37 rv = rv +'<hr>\nSee you next time!\n'
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
38
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
39 # Note: if you want to quit after each request enable the line
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
40 # self.quitting = 1
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
41
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
42 return rv
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
43
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
44 if __name__ == '__main__':
3545ab43a72a Example CGI applet
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
45 CGITest()