# HG changeset patch # User Pierre-Yves David # Date 1699478852 -3600 # Node ID c845479fc64d964834518efb75d7b0f2ffb9a6a3 # Parent eda075d7b2ac12d76a065a41d4d07fb92fedfa04 cleanup: drop the `bytes` compatibility for attribute related function We can rely on the builtins directly now. diff -r eda075d7b2ac -r c845479fc64d mercurial/pycompat.py --- a/mercurial/pycompat.py Wed Nov 08 22:20:58 2023 +0100 +++ b/mercurial/pycompat.py Wed Nov 08 22:27:32 2023 +0100 @@ -12,7 +12,6 @@ import builtins import codecs import concurrent.futures as futures -import functools import getopt import http.client as httplib import http.cookiejar as cookielib @@ -352,26 +351,11 @@ return sysbytes(doc) -def _wrapattrfunc(f): - @functools.wraps(f) - def w(object, name, *args): - if isinstance(name, bytes): - from . import util - - msg = b'function "%s" take `str` as argument, not `bytes`' - fname = f.__name__.encode('ascii') - msg %= fname - util.nouideprecwarn(msg, b"6.6", stacklevel=2) - return f(object, sysstr(name), *args) - - return w - - # these wrappers are automagically imported by hgloader -delattr = _wrapattrfunc(builtins.delattr) -getattr = _wrapattrfunc(builtins.getattr) -hasattr = _wrapattrfunc(builtins.hasattr) -setattr = _wrapattrfunc(builtins.setattr) +delattr = builtins.delattr +getattr = builtins.getattr +hasattr = builtins.hasattr +setattr = builtins.setattr xrange = builtins.range unicode = str @@ -386,7 +370,7 @@ return builtins.open(name, sysstr(mode), buffering, encoding) -safehasattr = _wrapattrfunc(builtins.hasattr) +safehasattr = builtins.hasattr def _getoptbwrapper(