All pastes #364433 Raw Edit

Mine

public python v1 · immutable
#364433 ·published 2007-02-20 04:14 UTC
rendered paste body
#!/usr/bin/python2.4import cgi, sys, os, cStringIO, cgitb, Cookiecgitb.enable(display=0, logdir="./logs")_headers = {"Content-type" : ["text/html"]}outbuffer = cStringIO.StringIO()sys.stdout = outbuffercookie = {}c = Cookie.SimpleCookie()if "HTTP_COOKIE" in os.environ:    c.load(os.environ["HTTP_COOKIE"])    for k in c:        cookie[k] = c[k].valuedel cpost = {}get = {}form = cgi.FieldStorage()if "QUERY_STRING" in os.environ:    get = cgi.parse_qs(os.environ["QUERY_STRING"], True)s = set((k, v) for k in form for v in form.getlist(k)) - \    set((k, v) for k in get for v in get[k])post = {}#print >>sys.__stdout__, "Content-type: text/html\n\n", cgi.escape(str(s))for k, v in s:    if k not in post:        post[k] = [v]    else:        post[k].append(v)del form, srequest = dict(post)  # Make a copy of postrequest.update(get)request.update(cookie)server = os.environdef getHeaderString():    string = ""    for k in _headers:        for v in _headers[k]:            string += "%s: %s\n" % (k, v)    return string + "\n"def header(string, replace=True):    key, val = string.split(": ", 1)    if replace:        _headers[key] = [val]    else:        _headers[key].append(val)def headers_list():    return list("%s: %s" % h for h in _headers.iteritems())def setcookie(name, value="", expire=0, path="", domain="", secure=False):    c = Cookie.SimpleCookie()    c[name] = value    if expire != 0:        c[name]["expires"] = expire    if path != "":        c[name]["path"] = path    if domain != "":        c[name]["domain"] = domain    if not secure:        c[name]["secure"] = True    header(str(c), False)class _renderMe:    """This class doesn't do anything except get instantiated and then    make sure that page is sent to the client when the script finishes."""    def __init__(self):        pass        def __del__(self):        sys.stdout = sys.__stdout__        print getHeaderString() + outbuffer.getvalue()        outbuffer.close()if __name__ == "__main__":    import errorelse:    _renderGuy = _renderMe()