diff mercurial/hgweb/hgweb_mod.py @ 18855:50c922c1b514 stable 2.5.3

hgweb: show correct error message for i18n environment If exception is error.LookupError and running in i18n environment, below condition is always true. Because msg is translated and dosen't contain 'manifest'. if util.safehasattr(err, 'name') and 'manifest' not in msg: This patch creates a new exception class and uses it instead of string match.
author Takumi IINO <trot.thunder@gmail.com>
date Fri, 15 Feb 2013 18:07:14 +0900
parents 36549fa712da
children f02045645d12
line wrap: on
line diff
--- a/mercurial/hgweb/hgweb_mod.py	Mon Apr 01 18:48:12 2013 -0300
+++ b/mercurial/hgweb/hgweb_mod.py	Fri Feb 15 18:07:14 2013 +0900
@@ -245,7 +245,8 @@
         except (error.LookupError, error.RepoLookupError), err:
             req.respond(HTTP_NOT_FOUND, ctype)
             msg = str(err)
-            if util.safehasattr(err, 'name') and 'manifest' not in msg:
+            if (util.safehasattr(err, 'name') and
+                not isinstance(err,  error.ManifestLookupError)):
                 msg = 'revision not found: %s' % err.name
             return tmpl('error', error=msg)
         except (error.RepoError, error.RevlogError), inst: