comparison mercurial/pycompat.py @ 51138:c845479fc64d

cleanup: drop the `bytes` compatibility for attribute related function We can rely on the builtins directly now.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 08 Nov 2023 22:27:32 +0100
parents 9bffc6c4e4c5
children 7e6aae033d8d
comparison
equal deleted inserted replaced
51137:eda075d7b2ac 51138:c845479fc64d
10 10
11 11
12 import builtins 12 import builtins
13 import codecs 13 import codecs
14 import concurrent.futures as futures 14 import concurrent.futures as futures
15 import functools
16 import getopt 15 import getopt
17 import http.client as httplib 16 import http.client as httplib
18 import http.cookiejar as cookielib 17 import http.cookiejar as cookielib
19 import inspect 18 import inspect
20 import io 19 import io
350 if doc is None: 349 if doc is None:
351 return doc 350 return doc
352 return sysbytes(doc) 351 return sysbytes(doc)
353 352
354 353
355 def _wrapattrfunc(f):
356 @functools.wraps(f)
357 def w(object, name, *args):
358 if isinstance(name, bytes):
359 from . import util
360
361 msg = b'function "%s" take `str` as argument, not `bytes`'
362 fname = f.__name__.encode('ascii')
363 msg %= fname
364 util.nouideprecwarn(msg, b"6.6", stacklevel=2)
365 return f(object, sysstr(name), *args)
366
367 return w
368
369
370 # these wrappers are automagically imported by hgloader 354 # these wrappers are automagically imported by hgloader
371 delattr = _wrapattrfunc(builtins.delattr) 355 delattr = builtins.delattr
372 getattr = _wrapattrfunc(builtins.getattr) 356 getattr = builtins.getattr
373 hasattr = _wrapattrfunc(builtins.hasattr) 357 hasattr = builtins.hasattr
374 setattr = _wrapattrfunc(builtins.setattr) 358 setattr = builtins.setattr
375 xrange = builtins.range 359 xrange = builtins.range
376 unicode = str 360 unicode = str
377 361
378 362
379 def open( 363 def open(
384 ) -> Any: 368 ) -> Any:
385 # TODO: assert binary mode, and cast result to BinaryIO? 369 # TODO: assert binary mode, and cast result to BinaryIO?
386 return builtins.open(name, sysstr(mode), buffering, encoding) 370 return builtins.open(name, sysstr(mode), buffering, encoding)
387 371
388 372
389 safehasattr = _wrapattrfunc(builtins.hasattr) 373 safehasattr = builtins.hasattr
390 374
391 375
392 def _getoptbwrapper( 376 def _getoptbwrapper(
393 orig, args: Sequence[bytes], shortlist: bytes, namelist: Sequence[bytes] 377 orig, args: Sequence[bytes], shortlist: bytes, namelist: Sequence[bytes]
394 ) -> _GetOptResult: 378 ) -> _GetOptResult: