comparison contrib/check-code.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 3b6f25190157
children e38292b85f9f
comparison
equal deleted inserted replaced
52664:9db77d46de79 52665:24ee91ba9aa8
814 try: 814 try:
815 pre = fp.read() 815 pre = fp.read()
816 except UnicodeDecodeError as e: 816 except UnicodeDecodeError as e:
817 print("%s while reading %s" % (e, f)) 817 print("%s while reading %s" % (e, f))
818 return result 818 return result
819 except IOError as e: 819 except OSError as e:
820 print("Skipping %s, %s" % (f, str(e).split(':', 1)[0])) 820 print("Skipping %s, %s" % (f, str(e).split(':', 1)[0]))
821 return result 821 return result
822 822
823 # context information shared while single checkfile() invocation 823 # context information shared while single checkfile() invocation
824 context = {'blamecache': None} 824 context = {'blamecache': None}