SuperX-Kernmodul
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

78 lines
1.9 KiB

#!/usr/bin/env python
import cgi
import cgitb; cgitb.enable()
import os, sys
def ctype():
print """Content-Type: text/html
"""
def head():
print """
<html>
<head><title>Upload test.</title></head>
<style>
.value { background-color: #FFFFC0; }
.hilite { background-color: #FFC0C0; }
</style>
<body>
"""
def tail():
print """
</body>
</html>
"""
form = cgi.FieldStorage()
def print_env(k, v, hilite=False):
if hilite:
print '<div><tt><strong class="hilite">%s</strong> = <span class="value">%s</span></tt></div>' % (k, v)
else:
print '<div><tt><strong>%s</strong> = <span class="value">%s</span></tt></div>' % (k, v)
def print_file(k, v):
print '<div><tt><strong>%s (%s)</strong> (File: %s):</div><pre class="value">%s</pre>' % (k, v.filename, v.type, v.value)
def print_fs(k, v):
print '<div><tt><strong>%s</strong> (FieldStorage: %s) = <span class="value">%s</span></tt></div>' % (k, v.type, v.value)
def print_unk(k, v):
print '<div><tt><strong>%s</strong> (Unknown: %s) = <span class="value">%s</span></tt></div>' % (k, v.type, v.value)
def print_mfs(k, v):
print '<div><tt><strong>%s</strong> (MiniFieldStorage: %s) = <span class="value">%s</span></tt></div>' % (k, v.type, v.value)
def env():
print '<h1>Environment</h1>'
for k, v in os.environ.items():
print_env(k, v, hilite = (k == 'REQUEST_METHOD') or (k == 'CONTENT_TYPE'))
def act():
print '<h1>Form Fields</h1>'
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()