comparison mercurial/hgweb.py @ 1554:68ec7b9e09a4

Catch IOErrors and RepoErrors when serving repositories via hgweb.
author Thomas Arendsen Hein <thomas@intevation.de>
date Thu, 17 Nov 2005 19:38:57 +0100
parents d69070c2547a
children 59b3639df0a9
comparison
equal deleted inserted replaced
1553:4aeba581990b 1554:68ec7b9e09a4
1011 1011
1012 virtual = req.env.get("PATH_INFO", "").strip('/') 1012 virtual = req.env.get("PATH_INFO", "").strip('/')
1013 if virtual: 1013 if virtual:
1014 real = dict(self.repos).get(virtual) 1014 real = dict(self.repos).get(virtual)
1015 if real: 1015 if real:
1016 hgweb(real).run(req) 1016 try:
1017 hgweb(real).run(req)
1018 except IOError, inst:
1019 req.write(tmpl("error", error=inst.strerror))
1020 except hg.RepoError, inst:
1021 req.write(tmpl("error", error=str(inst)))
1017 else: 1022 else:
1018 req.write(tmpl("notfound", repo=virtual)) 1023 req.write(tmpl("notfound", repo=virtual))
1019 else: 1024 else:
1020 req.write(tmpl("index", entries=entries)) 1025 req.write(tmpl("index", entries=entries))