##// END OF EJS Templates
hgweb: remove Python 3 conditional...
Gregory Szorc -
r49760:7eebe563 default
parent child Browse files
Show More
@@ -160,24 +160,22 b' def parserequestfromenv(env, reponame=No'
160 # TODO enable this once we fix internal violations.
160 # TODO enable this once we fix internal violations.
161 # wsgiref.validate.check_environ(env)
161 # wsgiref.validate.check_environ(env)
162
162
163 # PEP-0333 states that environment keys and values are native strings
163 # PEP-0333 states that environment keys and values are native strings.
164 # (bytes on Python 2 and str on Python 3). The code points for the Unicode
164 # The code points for the Unicode strings on Python 3 must be between
165 # strings on Python 3 must be between \00000-\000FF. We deal with bytes
165 # \00000-\000FF. We deal with bytes in Mercurial, so mass convert string
166 # in Mercurial, so mass convert string keys and values to bytes.
166 # keys and values to bytes.
167 if pycompat.ispy3:
167 def tobytes(s):
168 if not isinstance(s, str):
169 return s
170 if pycompat.iswindows:
171 # This is what mercurial.encoding does for os.environ on
172 # Windows.
173 return encoding.strtolocal(s)
174 else:
175 # This is what is documented to be used for os.environ on Unix.
176 return pycompat.fsencode(s)
168
177
169 def tobytes(s):
178 env = {tobytes(k): tobytes(v) for k, v in pycompat.iteritems(env)}
170 if not isinstance(s, str):
171 return s
172 if pycompat.iswindows:
173 # This is what mercurial.encoding does for os.environ on
174 # Windows.
175 return encoding.strtolocal(s)
176 else:
177 # This is what is documented to be used for os.environ on Unix.
178 return pycompat.fsencode(s)
179
180 env = {tobytes(k): tobytes(v) for k, v in pycompat.iteritems(env)}
181
179
182 # Some hosting solutions are emulating hgwebdir, and dispatching directly
180 # Some hosting solutions are emulating hgwebdir, and dispatching directly
183 # to an hgweb instance using this environment variable. This was always
181 # to an hgweb instance using this environment variable. This was always
General Comments 0
You need to be logged in to leave comments. Login now