# HG changeset patch # User Nicolas Dumazet # Date 1261970066 -32400 # Node ID 5eae671c0b57c179608bda76ae5dde173174119e # Parent d58d7441b21190237aefbd9a6d6f23dc05b180d3 hgweb: request: strip() form values Entering " " in the search form was not returning anything. This happens relatively often, due to HTML formatting: when copy/pasting a cset hash from the web, selection might contain surrounding spaces. diff -r d58d7441b211 -r 5eae671c0b57 mercurial/hgweb/request.py --- a/mercurial/hgweb/request.py Mon Jan 18 15:37:45 2010 -0200 +++ b/mercurial/hgweb/request.py Mon Dec 28 12:14:26 2009 +0900 @@ -25,7 +25,8 @@ 'static': [('cmd', ['static']), ('file', None)] } -def expand(form): +def normalize(form): + # first expand the shortcuts for k in shortcuts.iterkeys(): if k in form: for name, value in shortcuts[k]: @@ -33,6 +34,9 @@ value = form[k] form[name] = value del form[k] + # And strip the values + for k, v in form.iteritems(): + form[k] = [i.strip() for i in v] return form class wsgirequest(object): @@ -47,7 +51,9 @@ self.multiprocess = wsgienv['wsgi.multiprocess'] self.run_once = wsgienv['wsgi.run_once'] self.env = wsgienv - self.form = expand(cgi.parse(self.inp, self.env, keep_blank_values=1)) + self.form = normalize(cgi.parse(self.inp, + self.env, + keep_blank_values=1)) self._start_response = start_response self.server_write = None self.headers = []