webutil: use pycompat.bytestr() instead of str()
Stops us from choking the templater on Python 3. With this patch
applied, much of hgweb works correctly in Python 3. The notable
exception is the graph page, which chokes because it gets node IDs as
str instead of bytes.
Differential Revision: https://phab.mercurial-scm.org/D1135
--- a/mercurial/hgweb/webutil.py Mon Oct 16 22:43:19 2017 -0400
+++ b/mercurial/hgweb/webutil.py Mon Oct 16 22:44:06 2017 -0400
@@ -30,6 +30,7 @@
mdiff,
patch,
pathutil,
+ pycompat,
templatefilters,
ui as uimod,
util,
@@ -589,7 +590,10 @@
def __iter__(self):
separator = self.start
for key, value in sorted(self.vars.iteritems()):
- yield {'name': key, 'value': str(value), 'separator': separator}
+ yield {'name': key,
+ 'value': pycompat.bytestr(value),
+ 'separator': separator,
+ }
separator = '&'
class wsgiui(uimod.ui):