comparison mercurial/scmutil.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 f5d134e57f51
children e627cc25b6f3
comparison
equal deleted inserted replaced
52639:9db77d46de79 52640:24ee91ba9aa8
256 reason = inst.reason 256 reason = inst.reason
257 if isinstance(reason, str): 257 if isinstance(reason, str):
258 # SSLError of Python 2.7.9 contains a unicode 258 # SSLError of Python 2.7.9 contains a unicode
259 reason = encoding.unitolocal(reason) 259 reason = encoding.unitolocal(reason)
260 ui.error(_(b"abort: error: %s\n") % stringutil.forcebytestr(reason)) 260 ui.error(_(b"abort: error: %s\n") % stringutil.forcebytestr(reason))
261 except (IOError, OSError) as inst: 261 except OSError as inst:
262 if hasattr(inst, "args") and inst.args and inst.args[0] == errno.EPIPE: 262 if hasattr(inst, "args") and inst.args and inst.args[0] == errno.EPIPE:
263 pass 263 pass
264 elif getattr(inst, "strerror", None): # common IOError or OSError 264 elif getattr(inst, "strerror", None): # common IOError or OSError
265 if getattr(inst, "filename", None) is not None: 265 if getattr(inst, "filename", None) is not None:
266 ui.error( 266 ui.error(