import os
import sys
import Zcgi
def main():
if Zcgi.dictionary is None or not Zcgi.dictionary.has_key('file'):
show_form()
else:
show_file()
def show_form(error=''):
if error:
error = '\t\t\t<b>' + error + '</b> cannot be displayed.<br>\n'
Zcgi.print_html('''<html>
\t<head>
\t\t<title>
\t\t\tPython Script Viewer
\t\t</title>
\t</head>
\t<body>
\t\t<form action="%s">
%s\t\t\tPython Script Filename:<br>
\t\t\t<input type="text" name="file" size="50"><br>
\t\t\t<input type="submit" value="Display">
\t\t</form>
\t</body>
</html>''' % (os.path.basename(sys.argv[0]), error))
def show_file():
try:
if Zcgi.dictionary['file'][-3:].lower() != '.py':
raise Exception
Zcgi.print_plain(file(Zcgi.dictionary['file']).read())
except Exception, error:
if error.__class__ is not SystemExit:
show_form(Zcgi.dictionary['file'])
if __name__ == '__main__':
Zcgi.execute(main, 'cgi')