Show More
@@ -16,21 +16,6 b' from common import HTTP_OK, HTTP_BAD_REQ' | |||
|
16 | 16 | from request import wsgirequest |
|
17 | 17 | import webcommands, protocol, webutil |
|
18 | 18 | |
|
19 | shortcuts = { | |
|
20 | 'cl': [('cmd', ['changelog']), ('rev', None)], | |
|
21 | 'sl': [('cmd', ['shortlog']), ('rev', None)], | |
|
22 | 'cs': [('cmd', ['changeset']), ('node', None)], | |
|
23 | 'f': [('cmd', ['file']), ('filenode', None)], | |
|
24 | 'fl': [('cmd', ['filelog']), ('filenode', None)], | |
|
25 | 'fd': [('cmd', ['filediff']), ('node', None)], | |
|
26 | 'fa': [('cmd', ['annotate']), ('filenode', None)], | |
|
27 | 'mf': [('cmd', ['manifest']), ('manifest', None)], | |
|
28 | 'ca': [('cmd', ['archive']), ('node', None)], | |
|
29 | 'tags': [('cmd', ['tags'])], | |
|
30 | 'tip': [('cmd', ['changeset']), ('node', ['tip'])], | |
|
31 | 'static': [('cmd', ['static']), ('file', None)] | |
|
32 | } | |
|
33 | ||
|
34 | 19 | class hgweb(object): |
|
35 | 20 | def __init__(self, repo, name=None): |
|
36 | 21 | if isinstance(repo, str): |
@@ -104,16 +89,6 b' class hgweb(object):' | |||
|
104 | 89 | |
|
105 | 90 | self.refresh() |
|
106 | 91 | |
|
107 | # expand form shortcuts | |
|
108 | ||
|
109 | for k in shortcuts.iterkeys(): | |
|
110 | if k in req.form: | |
|
111 | for name, value in shortcuts[k]: | |
|
112 | if value is None: | |
|
113 | value = req.form[k] | |
|
114 | req.form[name] = value | |
|
115 | del req.form[k] | |
|
116 | ||
|
117 | 92 | # work with CGI variables to create coherent structure |
|
118 | 93 | # use SCRIPT_NAME, PATH_INFO and QUERY_STRING as well as our REPO_NAME |
|
119 | 94 |
@@ -9,6 +9,31 b'' | |||
|
9 | 9 | import socket, cgi, errno |
|
10 | 10 | from common import ErrorResponse, statusmessage |
|
11 | 11 | |
|
12 | shortcuts = { | |
|
13 | 'cl': [('cmd', ['changelog']), ('rev', None)], | |
|
14 | 'sl': [('cmd', ['shortlog']), ('rev', None)], | |
|
15 | 'cs': [('cmd', ['changeset']), ('node', None)], | |
|
16 | 'f': [('cmd', ['file']), ('filenode', None)], | |
|
17 | 'fl': [('cmd', ['filelog']), ('filenode', None)], | |
|
18 | 'fd': [('cmd', ['filediff']), ('node', None)], | |
|
19 | 'fa': [('cmd', ['annotate']), ('filenode', None)], | |
|
20 | 'mf': [('cmd', ['manifest']), ('manifest', None)], | |
|
21 | 'ca': [('cmd', ['archive']), ('node', None)], | |
|
22 | 'tags': [('cmd', ['tags'])], | |
|
23 | 'tip': [('cmd', ['changeset']), ('node', ['tip'])], | |
|
24 | 'static': [('cmd', ['static']), ('file', None)] | |
|
25 | } | |
|
26 | ||
|
27 | def expand(form): | |
|
28 | for k in shortcuts.iterkeys(): | |
|
29 | if k in form: | |
|
30 | for name, value in shortcuts[k]: | |
|
31 | if value is None: | |
|
32 | value = form[k] | |
|
33 | form[name] = value | |
|
34 | del form[k] | |
|
35 | return form | |
|
36 | ||
|
12 | 37 | class wsgirequest(object): |
|
13 | 38 | def __init__(self, wsgienv, start_response): |
|
14 | 39 | version = wsgienv['wsgi.version'] |
@@ -21,7 +46,7 b' class wsgirequest(object):' | |||
|
21 | 46 | self.multiprocess = wsgienv['wsgi.multiprocess'] |
|
22 | 47 | self.run_once = wsgienv['wsgi.run_once'] |
|
23 | 48 | self.env = wsgienv |
|
24 | self.form = cgi.parse(self.inp, self.env, keep_blank_values=1) | |
|
49 | self.form = expand(cgi.parse(self.inp, self.env, keep_blank_values=1)) | |
|
25 | 50 | self._start_response = start_response |
|
26 | 51 | self.server_write = None |
|
27 | 52 | self.headers = [] |
General Comments 0
You need to be logged in to leave comments.
Login now