[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#:&nbsp;</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