#!/usr/bin/env python
import cgi
import cgitb; cgitb.enable()
import os, sys
def ctype():
print """Content-Type: text/html
"""
def head():
print """
Upload test.
"""
def tail():
print """
"""
form = cgi.FieldStorage()
def print_env(k, v, hilite=False):
if hilite:
print '%s = %s
' % (k, v)
else:
print '%s = %s
' % (k, v)
def print_file(k, v):
print '%s (%s) (File: %s):
%s
' % (k, v.filename, v.type, v.value)
def print_fs(k, v):
print '%s (FieldStorage: %s) = %s
' % (k, v.type, v.value)
def print_unk(k, v):
print '%s (Unknown: %s) = %s
' % (k, v.type, v.value)
def print_mfs(k, v):
print '%s (MiniFieldStorage: %s) = %s
' % (k, v.type, v.value)
def env():
print 'Environment
'
for k, v in os.environ.items():
print_env(k, v, hilite = (k == 'REQUEST_METHOD') or (k == 'CONTENT_TYPE'))
def act():
print 'Form Fields
'
for k in form:
v = form[k]
if v.file and v.filename:
print_file(k, v)
elif isinstance(v, cgi.FieldStorage):
print_fs(k, v)
elif isinstance(v, cgi.MiniFieldStorage):
print_mfs(k, v)
else:
print_unk(k, v)
if (__name__ == "__main__"):
ctype()
if not 'inline' in form or form['inline'].value != 'yes':
head()
act()
#env()
if not 'inline' in form or form['inline'].value != 'yes':
tail()