'''Support module for use by CGI scripts.
This module provides several functions and variables
that help with printing text and accessing form data.'''
__version__ = 1.3
################################################################################
class File:
def __init__(*args, **kwargs):
pass
def flush(*args, **kwargs):
pass
def isatty(*args, **kwargs):
pass
def write(*args, **kwargs):
pass
def writelines(*args, **kwargs):
pass
################################################################################
import sys
out = sys.stdout
sys.stdout = File()
def execute(main, exception):
'Execute main unless exception.'
if exception != string:
main()
else:
print_self()
def print_html(text):
'Print text as HTML.'
out.write('Content-Type: text/html\n\n' + text)
sys.exit(0)
def print_plain(text):
'Print text as plain.'
out.write('Content-Type: text/plain\n\n' + text)
sys.exit(0)
def print_self():
'Print __main__ as plain.'
print_plain(file(sys.argv[0]).read())
################################################################################
import os
def export():
'Exports string and dictionary.'
global string, dictionary
try:
string = str(os.environ['QUERY_STRING'])
except:
string = str()
try:
dictionary = dict([(decode(parameter), decode(value)) for parameter, value in [item.split('=') for item in string.replace('+', ' ').split('&')]])
except:
dictionary = dict()
def decode(string):
'Receives, decodes, and returns string.'
index = string.find('%')
while index != -1:
string = string[:index] + chr(int(string[index+1:index+3], 16)) + string[index+3:]
index = string.find('%', index + 1)
return string
################################################################################
if __name__ == '__main__':
print_self()
else:
export()