chiark
/
gitweb
/
~mdw
/
chopwood
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
wrapper.fhtml: Add `license' relationship to the AGPL link.
[chopwood]
/
cgi.py
diff --git
a/cgi.py
b/cgi.py
index 69b90386b36ae99638697643e737cc98eb8e11b6..6ad9e756c37efd49d6dd8fcad92b3ee16ab7716f 100644
(file)
--- a/
cgi.py
+++ b/
cgi.py
@@
-51,7
+51,11
@@
CONF.DEFAULTS.update(
## A (maybe relative) URL for static content. By default this comes from
## the main script, but we hope that user agents cache it.
## A (maybe relative) URL for static content. By default this comes from
## the main script, but we hope that user agents cache it.
- STATIC = _script_name + '/static')
+ STATIC = None)
+
+@CONF.hook
+def set_static():
+ if CFG.STATIC is None: CFG.STATIC = CFG.SCRIPT_NAME + '/static'
###--------------------------------------------------------------------------
### Escaping and encoding.
###--------------------------------------------------------------------------
### Escaping and encoding.
@@
-105,6
+109,7
@@
class HTTPOutput (O.FileOutput):
"""Constructor: initialize `headerp' flag."""
super(HTTPOutput, me).__init__(*args, **kw)
me.headerp = False
"""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."""
def write(me, msg):
"""Output protocol: print a header if we've not written one already."""
@@
-126,6
+131,15
@@
class HTTPOutput (O.FileOutput):
if METHOD == 'HEAD':
HEADER_DONE()
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.
def cookie(name, value, **kw):
"""
Return a HTTP `Set-Cookie' header.
@@
-272,7
+286,8
@@
def page(template, header = {}, title = 'Chopwood', **kw):
header = dict(header, content_type = 'text/html')
OUT.header(**header)
format_tmpl(TMPL['wrapper.fhtml'],
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.
###--------------------------------------------------------------------------
### Error reporting.
@@
-392,7
+407,7
@@
def cgiparse():
## Acquire the query string.
if METHOD in ['GET', 'HEAD']:
## Acquire the query string.
if METHOD in ['GET', 'HEAD']:
- q =
getenv('QUERY_STRING
')
+ q =
ENV.get('QUERY_STRING', '
')
elif METHOD == 'POST':
elif METHOD == 'POST':