Mercurial > hg
comparison mercurial/pycompat.py @ 32615:c9318beb7c1a
py3: convert __doc__ back to bytes in help.py
pycompat.getdoc() is pretty simple, but we wouldn't want to write handling
of None inline.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Thu, 01 Jun 2017 22:24:15 +0900 |
parents | 548478efc46c |
children | a05f3675c46a |
comparison
equal
deleted
inserted
replaced
32614:4b426ae96ff2 | 32615:c9318beb7c1a |
---|---|
175 | 175 |
176 def raisewithtb(exc, tb): | 176 def raisewithtb(exc, tb): |
177 """Raise exception with the given traceback""" | 177 """Raise exception with the given traceback""" |
178 raise exc.with_traceback(tb) | 178 raise exc.with_traceback(tb) |
179 | 179 |
180 def getdoc(obj): | |
181 """Get docstring as bytes; may be None so gettext() won't confuse it | |
182 with _('')""" | |
183 doc = getattr(obj, u'__doc__', None) | |
184 if doc is None: | |
185 return doc | |
186 return sysbytes(doc) | |
187 | |
180 def _wrapattrfunc(f): | 188 def _wrapattrfunc(f): |
181 @functools.wraps(f) | 189 @functools.wraps(f) |
182 def w(object, name, *args): | 190 def w(object, name, *args): |
183 return f(object, sysstr(name), *args) | 191 return f(object, sysstr(name), *args) |
184 return w | 192 return w |
252 "expect str, not %s" % type(filename).__name__) | 260 "expect str, not %s" % type(filename).__name__) |
253 | 261 |
254 # In Python 2, fsdecode() has a very chance to receive bytes. So it's | 262 # In Python 2, fsdecode() has a very chance to receive bytes. So it's |
255 # better not to touch Python 2 part as it's already working fine. | 263 # better not to touch Python 2 part as it's already working fine. |
256 fsdecode = identity | 264 fsdecode = identity |
265 | |
266 def getdoc(obj): | |
267 return getattr(obj, '__doc__', None) | |
257 | 268 |
258 def getoptb(args, shortlist, namelist): | 269 def getoptb(args, shortlist, namelist): |
259 return getopt.getopt(args, shortlist, namelist) | 270 return getopt.getopt(args, shortlist, namelist) |
260 | 271 |
261 strkwargs = identity | 272 strkwargs = identity |