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.
--- 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))):