##// END OF EJS Templates
py3: avoid iterating over a literal bytes in highlight...
py3: avoid iterating over a literal bytes in highlight In Python 3, iterating over a bytes literal yields integers. Since we use the value in `text.replace()`, this fails on Python 3 with the following trackback: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/mercurial/hgweb/hgwebdir_mod.py", line 378, in run_wsgi for r in self._runwsgi(req, res): File "/usr/lib/python3/dist-packages/mercurial/hgweb/hgweb_mod.py", line 326, in run_wsgi for r in self._runwsgi(req, res, repo): File "/usr/lib/python3/dist-packages/mercurial/hgweb/hgweb_mod.py", line 449, in _runwsgi return getattr(webcommands, cmd)(rctx) File "/usr/lib/python3/dist-packages/mercurial/hgweb/webcommands.py", line 211, in file return _filerevision(web, webutil.filectx(web.repo, web.req)) File "/usr/lib/python3/dist-packages/hgext/highlight/__init__.py", line 72, in filerevision_highlight pygmentize(web, b'fileline', fctx, web.tmpl) File "/usr/lib/python3/dist-packages/hgext/highlight/__init__.py", line 58, in pygmentize field, fctx, style, tmpl, guessfilenameonly=filenameonly File "/usr/lib/python3/dist-packages/hgext/highlight/highlight.py", line 62, in pygmentize text = text.replace(c, b'') TypeError: a bytes-like object is required, not 'int'

File last commit:

r43347:687b865b default
r44014:856cce0c stable
Show More
txnutil.py
36 lines | 1.0 KiB | text/x-python | PythonLexer
FUJIWARA Katsunori
txnutil: factor out the logic to read file in according to HG_PENDING...
r31050 # txnutil.py - transaction related utilities
#
# Copyright FUJIWARA Katsunori <foozy@lares.dti.ne.jp> and others
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import
import errno
Augie Fackler
formatting: blacken the codebase...
r43346 from . import encoding
FUJIWARA Katsunori
txnutil: factor out the logic to read file in according to HG_PENDING...
r31050
def mayhavepending(root):
'''return whether 'root' may have pending changes, which are
visible to this process.
'''
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 return root == encoding.environ.get(b'HG_PENDING')
FUJIWARA Katsunori
txnutil: factor out the logic to read file in according to HG_PENDING...
r31050
Augie Fackler
formatting: blacken the codebase...
r43346
FUJIWARA Katsunori
txnutil: factor out the logic to read file in according to HG_PENDING...
r31050 def trypending(root, vfs, filename, **kwargs):
'''Open file to be read according to HG_PENDING environment variable
This opens '.pending' of specified 'filename' only when HG_PENDING
is equal to 'root'.
This returns '(fp, is_pending_opened)' tuple.
'''
if mayhavepending(root):
try:
Augie Fackler
formatting: byteify all mercurial/ and hgext/ string literals...
r43347 return (vfs(b'%s.pending' % filename, **kwargs), True)
FUJIWARA Katsunori
txnutil: factor out the logic to read file in according to HG_PENDING...
r31050 except IOError as inst:
if inst.errno != errno.ENOENT:
raise
return (vfs(filename, **kwargs), False)