fix traceback in hgweb when URL doesn't end in one of the archive specs
authorAli Saidi <saidi@eecs.umich.edu>
Fri, 13 Jun 2008 12:33:40 +0200
changeset 6669 782dbbdfb1d7
parent 6662 22c303a514f8
child 6670 be55b1a6d4b1
child 6678 1eba8e8f2cce
fix traceback in hgweb when URL doesn't end in one of the archive specs If the last n charecters of the URL doesn't match an entry in archive_specs req.form never has a key 'type'. When achive() looks up 'type' in the form dict it causes a traceback rather than printing an error message.
mercurial/hgweb/webcommands.py
--- a/mercurial/hgweb/webcommands.py	Thu Jun 12 00:11:09 2008 -0700
+++ b/mercurial/hgweb/webcommands.py	Fri Jun 13 12:33:40 2008 +0200
@@ -109,7 +109,7 @@
     return web.filelog(tmpl, web.filectx(req))
 
 def archive(web, req, tmpl):
-    type_ = req.form['type'][0]
+    type_ = req.form.get('type', [None])[0]
     allowed = web.configlist("web", "allow_archive")
     if (type_ in web.archives and (type_ in allowed or
         web.configbool("web", "allow" + type_, False))):