X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/chopwood/blobdiff_plain/9d6ec9ac56508d35a0f66eb6747782dbc996735a..c81f8191afcbdce59ee937b544145139b4713e71:/cgi.py diff --git a/cgi.py b/cgi.py index 69b9038..8009eaf 100644 --- a/cgi.py +++ b/cgi.py @@ -105,6 +105,7 @@ class HTTPOutput (O.FileOutput): """Constructor: initialize `headerp' flag.""" super(HTTPOutput, me).__init__(*args, **kw) me.headerp = False + me.warnings = [] def write(me, msg): """Output protocol: print a header if we've not written one already.""" @@ -126,6 +127,15 @@ class HTTPOutput (O.FileOutput): if METHOD == 'HEAD': HEADER_DONE() + def warn(me, msg): + """ + Report a warning message. + + The warning is stashed in a list where it can be retrieved using + `warnings'. + """ + me.warnings.append(msg) + def cookie(name, value, **kw): """ Return a HTTP `Set-Cookie' header. @@ -272,7 +282,8 @@ def page(template, header = {}, title = 'Chopwood', **kw): header = dict(header, content_type = 'text/html') OUT.header(**header) format_tmpl(TMPL['wrapper.fhtml'], - title = title, payload = TMPL[template], **kw) + title = title, warnings = OUT.warnings, + payload = TMPL[template], **kw) ###-------------------------------------------------------------------------- ### Error reporting. @@ -392,7 +403,7 @@ def cgiparse(): ## Acquire the query string. if METHOD in ['GET', 'HEAD']: - q = getenv('QUERY_STRING') + q = ENV.get('QUERY_STRING', '') elif METHOD == 'POST':