comparison mercurial/patch.py @ 52665: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 c921c23a9681
children 5cc8deb96b48
comparison
equal deleted inserted replaced
52664:9db77d46de79 52665:24ee91ba9aa8
2021 """ 2021 """
2022 pos = 0 2022 pos = 0
2023 try: 2023 try:
2024 pos = lr.fp.tell() 2024 pos = lr.fp.tell()
2025 fp = lr.fp 2025 fp = lr.fp
2026 except IOError: 2026 except OSError:
2027 fp = stringio(lr.fp.read()) 2027 fp = stringio(lr.fp.read())
2028 gitlr = linereader(fp) 2028 gitlr = linereader(fp)
2029 gitlr.push(firstline) 2029 gitlr.push(firstline)
2030 gitpatches = readgitpatch(gitlr) 2030 gitpatches = readgitpatch(gitlr)
2031 fp.seek(pos) 2031 fp.seek(pos)