Mercurial > public > mercurial-scm > hg
comparison setup.py @ 52640:24ee91ba9aa8
pyupgrade: drop usage of py3 aliases for `OSError`
These were different classes in py2, but now a handful of error classes are just
an alias of `OSError`, like `IOError`, `EnvironmentError`, `WindowsError`, etc.
This is the result of running a hacked version of `pyupgrade` 3.19.1[1]
$ hg files -0 'relglob:**.py' | xargs -0 \
pyupgrade --py38-plus --keep-percent-format --keep-mock --keep-runtime-typing
The hack is because it doesn't have command line switches to disable most
changes, so it makes tons of unrelated changes all at once. The hack is to
1) patch `pyupgrade._main._fix_tokens()` to immediately return its content arg
2) change `pyupgrade._data.register_decorator()` to only register the function
if it's from the fixer we're interested in:
if func.__module__ in (
"pyupgrade._plugins.exceptions",
):
FUNCS[tp].append(func)
return func
[1] https://github.com/asottile/pyupgrade
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 05 Jan 2025 21:03:17 -0500 |
parents | db1e56264aaa |
children | 958d5c998505 |
comparison
equal
deleted
inserted
replaced
52639:9db77d46de79 | 52640:24ee91ba9aa8 |
---|---|
254 try: | 254 try: |
255 retcode, out, err = runcmd(hgcmd + check_cmd, hgenv) | 255 retcode, out, err = runcmd(hgcmd + check_cmd, hgenv) |
256 res = (True, retcode, out, err) | 256 res = (True, retcode, out, err) |
257 if retcode == 0 and not filterhgerr(err): | 257 if retcode == 0 and not filterhgerr(err): |
258 return True | 258 return True |
259 except EnvironmentError as e: | 259 except OSError as e: |
260 res = (False, e) | 260 res = (False, e) |
261 attempts.append((cmd, res)) | 261 attempts.append((cmd, res)) |
262 return False | 262 return False |
263 | 263 |
264 if os.name != 'nt' or not os.path.exists("hg.exe"): | 264 if os.name != 'nt' or not os.path.exists("hg.exe"): |