Mercurial > public > mercurial-scm > hg
comparison mercurial/hgweb/request.py @ 10261:5eae671c0b57 stable
hgweb: request: strip() form values
Entering "<correct_cset_hash> " 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.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Mon, 28 Dec 2009 12:14:26 +0900 |
parents | 8269fe2d48f6 |
children | 25e572394f5c |
comparison
equal
deleted
inserted
replaced
10258:d58d7441b211 | 10261:5eae671c0b57 |
---|---|
23 'tags': [('cmd', ['tags'])], | 23 'tags': [('cmd', ['tags'])], |
24 'tip': [('cmd', ['changeset']), ('node', ['tip'])], | 24 'tip': [('cmd', ['changeset']), ('node', ['tip'])], |
25 'static': [('cmd', ['static']), ('file', None)] | 25 'static': [('cmd', ['static']), ('file', None)] |
26 } | 26 } |
27 | 27 |
28 def expand(form): | 28 def normalize(form): |
29 # first expand the shortcuts | |
29 for k in shortcuts.iterkeys(): | 30 for k in shortcuts.iterkeys(): |
30 if k in form: | 31 if k in form: |
31 for name, value in shortcuts[k]: | 32 for name, value in shortcuts[k]: |
32 if value is None: | 33 if value is None: |
33 value = form[k] | 34 value = form[k] |
34 form[name] = value | 35 form[name] = value |
35 del form[k] | 36 del form[k] |
37 # And strip the values | |
38 for k, v in form.iteritems(): | |
39 form[k] = [i.strip() for i in v] | |
36 return form | 40 return form |
37 | 41 |
38 class wsgirequest(object): | 42 class wsgirequest(object): |
39 def __init__(self, wsgienv, start_response): | 43 def __init__(self, wsgienv, start_response): |
40 version = wsgienv['wsgi.version'] | 44 version = wsgienv['wsgi.version'] |
45 self.err = wsgienv['wsgi.errors'] | 49 self.err = wsgienv['wsgi.errors'] |
46 self.threaded = wsgienv['wsgi.multithread'] | 50 self.threaded = wsgienv['wsgi.multithread'] |
47 self.multiprocess = wsgienv['wsgi.multiprocess'] | 51 self.multiprocess = wsgienv['wsgi.multiprocess'] |
48 self.run_once = wsgienv['wsgi.run_once'] | 52 self.run_once = wsgienv['wsgi.run_once'] |
49 self.env = wsgienv | 53 self.env = wsgienv |
50 self.form = expand(cgi.parse(self.inp, self.env, keep_blank_values=1)) | 54 self.form = normalize(cgi.parse(self.inp, |
55 self.env, | |
56 keep_blank_values=1)) | |
51 self._start_response = start_response | 57 self._start_response = start_response |
52 self.server_write = None | 58 self.server_write = None |
53 self.headers = [] | 59 self.headers = [] |
54 | 60 |
55 def __iter__(self): | 61 def __iter__(self): |