Show More
@@ -16,21 +16,6 b' from common import HTTP_OK, HTTP_BAD_REQ' | |||||
16 | from request import wsgirequest |
|
16 | from request import wsgirequest | |
17 | import webcommands, protocol, webutil |
|
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 | class hgweb(object): |
|
19 | class hgweb(object): | |
35 | def __init__(self, repo, name=None): |
|
20 | def __init__(self, repo, name=None): | |
36 | if isinstance(repo, str): |
|
21 | if isinstance(repo, str): | |
@@ -104,16 +89,6 b' class hgweb(object):' | |||||
104 |
|
89 | |||
105 | self.refresh() |
|
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 | # work with CGI variables to create coherent structure |
|
92 | # work with CGI variables to create coherent structure | |
118 | # use SCRIPT_NAME, PATH_INFO and QUERY_STRING as well as our REPO_NAME |
|
93 | # use SCRIPT_NAME, PATH_INFO and QUERY_STRING as well as our REPO_NAME | |
119 |
|
94 |
@@ -9,6 +9,31 b'' | |||||
9 | import socket, cgi, errno |
|
9 | import socket, cgi, errno | |
10 | from common import ErrorResponse, statusmessage |
|
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 | class wsgirequest(object): |
|
37 | class wsgirequest(object): | |
13 | def __init__(self, wsgienv, start_response): |
|
38 | def __init__(self, wsgienv, start_response): | |
14 | version = wsgienv['wsgi.version'] |
|
39 | version = wsgienv['wsgi.version'] | |
@@ -21,7 +46,7 b' class wsgirequest(object):' | |||||
21 | self.multiprocess = wsgienv['wsgi.multiprocess'] |
|
46 | self.multiprocess = wsgienv['wsgi.multiprocess'] | |
22 | self.run_once = wsgienv['wsgi.run_once'] |
|
47 | self.run_once = wsgienv['wsgi.run_once'] | |
23 | self.env = wsgienv |
|
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 | self._start_response = start_response |
|
50 | self._start_response = start_response | |
26 | self.server_write = None |
|
51 | self.server_write = None | |
27 | self.headers = [] |
|
52 | self.headers = [] |
General Comments 0
You need to be logged in to leave comments.
Login now