changeset 34403:407ebe7a9b93

hgweb: use parsebool for parsing diff query string options Differential Revision: https://phab.mercurial-scm.org/D875
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 01 Oct 2017 12:29:33 +0100
parents 689f6cdccef5
children 159a6f7e09a9
files mercurial/hgweb/webcommands.py mercurial/hgweb/webutil.py
diffstat 2 files changed, 6 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/hgweb/webcommands.py	Sun Oct 01 14:02:47 2017 +0100
+++ b/mercurial/hgweb/webcommands.py	Sun Oct 01 12:29:33 2017 +0100
@@ -865,9 +865,10 @@
 
     The ``ignorews``, ``ignorewsamount``, ``ignorewseol``, and
     ``ignoreblanklines`` query string arguments have the same meaning as
-    their ``[annotate]`` config equivalents. A value of ``0`` sets the
-    whitespace option to false. All other values are true. If not defined,
-    the server default settings are used.
+    their ``[annotate]`` config equivalents. It uses the hgrc boolean
+    parsing logic to interpret the value. e.g. ``0`` and ``false`` are
+    false and ``1`` and ``true`` are true. If not defined, the server
+    default settings are used.
 
     The ``fileannotate`` template is rendered.
     """
--- a/mercurial/hgweb/webutil.py	Sun Oct 01 14:02:47 2017 +0100
+++ b/mercurial/hgweb/webutil.py	Sun Oct 01 12:29:33 2017 +0100
@@ -177,12 +177,8 @@
     for k in ('ignorews', 'ignorewsamount', 'ignorewseol', 'ignoreblanklines'):
         v = req.form.get(k, [None])[0]
         if v is not None:
-            try:
-                v = bool(int(v))
-            except ValueError:
-                v = True
-
-            setattr(diffopts, k, v)
+            v = util.parsebool(v)
+            setattr(diffopts, k, v if v is not None else True)
 
     return diffopts