[PATCH 5 of 6] Use a template for the error message
Ollivier Robert
roberto at keltia.freenix.fr
Wed Aug 24 10:47:27 CDT 2005
Patch subject is complete summary.
# HG changeset patch
# User Ollivier Robert <roberto at keltia.freenix.fr>
# Node ID 5e98a58ace70cc38ae1211b57f41678f453fd4b7
# Parent 05f2e370f11340ce10135b35cccf8180be8ecde0
Use a template for the error message.
diff -r 05f2e370f113 -r 5e98a58ace70 mercurial/hgweb.py
--- a/mercurial/hgweb.py Wed Aug 24 14:24:32 2005
+++ b/mercurial/hgweb.py Wed Aug 24 14:57:00 2005
@@ -55,10 +55,6 @@
def httphdr(type):
sys.stdout.write('Content-type: %s\n\n' % type)
-
-def httpnotfound(filename):
- sys.stdout.write("Status: 404\r\n\r\n")
- sys.stdout.write("File not found: (%s)" % (filename, ))
def write(*things):
for thing in things:
@@ -843,6 +839,44 @@
self.cp.read(config)
def run(self):
+ def header(**map):
+ yield tmpl("header", **map)
+
+ def footer(**map):
+ yield tmpl("footer", **map)
+
+ templates = templatepath()
+ m = os.path.join(templates, "map")
+ tmpl = templater(m, common_filters,
+ {"header": header, "footer": footer})
+
+ def entries(**map):
+ parity = 0
+ l = self.cp.items("paths")
+ l.sort()
+ for v,r in l:
+ cp2 = ConfigParser.SafeConfigParser()
+ cp2.read(os.path.join(r, ".hg", "hgrc"))
+
+ def get(sec, val, default):
+ try:
+ return cp2.get(sec, val)
+ except:
+ return default
+
+ url = os.environ["REQUEST_URI"] + "/" + v
+ url = url.replace("//", "/")
+
+ yield dict(author = get("web", "author", "unknown"),
+ name = get("web", "name", v),
+ url = url,
+ parity = parity,
+ shortdesc = get("web", "description", "unknown"),
+ lastupdate = os.stat(os.path.join(r, ".hg",
+ "00changelog.d")).st_mtime)
+
+ parity = 1 - parity
+
try:
virtual = os.environ["PATH_INFO"]
except:
@@ -857,45 +891,7 @@
h.run()
return
else:
- httpnotfound(virtual)
+ write(tmpl("notfound", repo = virtual))
return
- def header(**map):
- yield tmpl("header", **map)
-
- def footer(**map):
- yield tmpl("footer", **map)
-
- templates = templatepath()
- m = os.path.join(templates, "map")
- tmpl = templater(m, common_filters,
- {"header": header, "footer": footer})
-
- def entries(**map):
- parity = 0
- l = self.cp.items("paths")
- l.sort()
- for v,r in l:
- cp2 = ConfigParser.SafeConfigParser()
- cp2.read(os.path.join(r, ".hg", "hgrc"))
-
- def get(sec, val, default):
- try:
- return cp2.get(sec, val)
- except:
- return default
-
- url = os.environ["REQUEST_URI"] + "/" + v
- url = url.replace("//", "/")
-
- yield dict(author = get("web", "author", "unknown"),
- name = get("web", "name", v),
- url = url,
- parity = parity,
- shortdesc = get("web", "description", "unknown"),
- lastupdate = os.stat(os.path.join(r, ".hg",
- "00changelog.d")).st_mtime)
-
- parity = 1 - parity
-
write(tmpl("index", entries = entries))
diff -r 05f2e370f113 -r 5e98a58ace70 templates/map
--- a/templates/map Wed Aug 24 14:24:32 2005
+++ b/templates/map Wed Aug 24 14:57:00 2005
@@ -37,3 +37,4 @@
filelogparent = "<tr><td align="right">parent #rev#: </td><td><a href="?cmd=file;file=#file#;filenode=#node#">#node|short#</a></td></tr>"
indexentry = "<tr class="parity#parity#"><td><a href="#url#">#name#</a></td><td>#shortdesc#</td><td>#author# <i>#email|obfuscate#</i></td><td>#lastupdate|age# ago</td></tr>"
index = index.tmpl
+notfound = notfound.tmpl
More information about the Mercurial
mailing list