Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-pyupgrade for openSUSE:Factory checked in at 2021-11-20 02:38:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pyupgrade (Old) and /work/SRC/openSUSE:Factory/.python-pyupgrade.new.1895 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyupgrade" Sat Nov 20 02:38:53 2021 rev:20 rq:932268 version:2.29.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pyupgrade/python-pyupgrade.changes 2021-11-03 17:26:47.093354253 +0100 +++ /work/SRC/openSUSE:Factory/.python-pyupgrade.new.1895/python-pyupgrade.changes 2021-11-20 02:39:56.684620864 +0100 @@ -1,0 +2,8 @@ +Tue Nov 16 07:44:51 UTC 2021 - Sebastian Wagner <sebix+novell....@sebix.at> + +- - update to version 2.29.1: + - prevent rewriting union types with forward annotations + - replace exit(main()) with raise SystemExit(main()) + Committed via https://github.com/asottile/all-repos + +------------------------------------------------------------------- Old: ---- python-pyupgrade-2.29.0.tar.gz New: ---- python-pyupgrade-2.29.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pyupgrade.spec ++++++ --- /var/tmp/diff_new_pack.rxFDdd/_old 2021-11-20 02:39:57.228619069 +0100 +++ /var/tmp/diff_new_pack.rxFDdd/_new 2021-11-20 02:39:57.236619043 +0100 @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-pyupgrade -Version: 2.29.0 +Version: 2.29.1 Release: 0 Summary: A tool to automatically upgrade syntax for newer versions License: MIT ++++++ python-pyupgrade-2.29.0.tar.gz -> python-pyupgrade-2.29.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyupgrade-2.29.0/.pre-commit-config.yaml new/pyupgrade-2.29.1/.pre-commit-config.yaml --- old/pyupgrade-2.29.0/.pre-commit-config.yaml 2021-09-28 17:15:18.000000000 +0200 +++ new/pyupgrade-2.29.1/.pre-commit-config.yaml 2021-11-16 02:13:55.000000000 +0100 @@ -11,11 +11,11 @@ - id: requirements-txt-fixer - id: trailing-whitespace - repo: https://github.com/asottile/setup-cfg-fmt - rev: v1.17.0 + rev: v1.19.0 hooks: - id: setup-cfg-fmt - repo: https://github.com/PyCQA/flake8 - rev: 3.9.2 + rev: 4.0.1 hooks: - id: flake8 additional_dependencies: [flake8-typing-imports==1.7.0] @@ -29,16 +29,16 @@ - id: reorder-python-imports args: [--py3-plus] - repo: https://github.com/asottile/add-trailing-comma - rev: v2.1.0 + rev: v2.2.0 hooks: - id: add-trailing-comma args: [--py36-plus] - repo: https://github.com/asottile/pyupgrade - rev: v2.29.0 + rev: v2.29.1 hooks: - id: pyupgrade args: [--py36-plus] - repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.910 + rev: v0.910-1 hooks: - id: mypy diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyupgrade-2.29.0/README.md new/pyupgrade-2.29.1/README.md --- old/pyupgrade-2.29.0/README.md 2021-09-28 17:15:18.000000000 +0200 +++ new/pyupgrade-2.29.1/README.md 2021-11-16 02:13:55.000000000 +0100 @@ -20,7 +20,7 @@ ```yaml - repo: https://github.com/asottile/pyupgrade - rev: v2.29.0 + rev: v2.29.1 hooks: - id: pyupgrade ``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyupgrade-2.29.0/pyupgrade/__main__.py new/pyupgrade-2.29.1/pyupgrade/__main__.py --- old/pyupgrade-2.29.0/pyupgrade/__main__.py 2021-09-28 17:15:18.000000000 +0200 +++ new/pyupgrade-2.29.1/pyupgrade/__main__.py 2021-11-16 02:13:55.000000000 +0100 @@ -1,4 +1,4 @@ from pyupgrade._main import main if __name__ == '__main__': - exit(main()) + raise SystemExit(main()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyupgrade-2.29.0/pyupgrade/_main.py new/pyupgrade-2.29.1/pyupgrade/_main.py --- old/pyupgrade-2.29.0/pyupgrade/_main.py 2021-09-28 17:15:18.000000000 +0200 +++ new/pyupgrade-2.29.1/pyupgrade/_main.py 2021-11-16 02:13:55.000000000 +0100 @@ -948,4 +948,4 @@ if __name__ == '__main__': - exit(main()) + raise SystemExit(main()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyupgrade-2.29.0/pyupgrade/_plugins/typing_pep604.py new/pyupgrade-2.29.1/pyupgrade/_plugins/typing_pep604.py --- old/pyupgrade-2.29.0/pyupgrade/_plugins/typing_pep604.py 2021-09-28 17:15:18.000000000 +0200 +++ new/pyupgrade-2.29.1/pyupgrade/_plugins/typing_pep604.py 2021-11-16 02:13:55.000000000 +0100 @@ -126,6 +126,15 @@ ) +def _any_arg_is_str(node_slice: ast.expr) -> bool: + return ( + isinstance(node_slice, ast.Str) or ( + isinstance(node_slice, ast.Tuple) and + any(isinstance(elt, ast.Str) for elt in node_slice.elts) + ) + ) + + @register(ast.Subscript) def visit_Subscript( state: State, @@ -135,6 +144,17 @@ if not _supported_version(state): return + # prevent rewriting forward annotations + if ( + (sys.version_info >= (3, 9) and _any_arg_is_str(node.slice)) or + ( + sys.version_info < (3, 9) and + isinstance(node.slice, ast.Index) and + _any_arg_is_str(node.slice.value) + ) + ): + return + if is_name_attr(node.value, state.from_imports, 'typing', ('Optional',)): yield ast_to_offset(node), _fix_optional elif is_name_attr(node.value, state.from_imports, 'typing', ('Union',)): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyupgrade-2.29.0/setup.cfg new/pyupgrade-2.29.1/setup.cfg --- old/pyupgrade-2.29.0/setup.cfg 2021-09-28 17:15:18.000000000 +0200 +++ new/pyupgrade-2.29.1/setup.cfg 2021-11-16 02:13:55.000000000 +0100 @@ -1,6 +1,6 @@ [metadata] name = pyupgrade -version = 2.29.0 +version = 2.29.1 description = A tool to automatically upgrade syntax for newer versions. long_description = file: README.md long_description_content_type = text/markdown @@ -17,6 +17,7 @@ Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: Implementation :: PyPy diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyupgrade-2.29.0/tests/features/typing_pep604_test.py new/pyupgrade-2.29.1/tests/features/typing_pep604_test.py --- old/pyupgrade-2.29.0/tests/features/typing_pep604_test.py 2021-09-28 17:15:18.000000000 +0200 +++ new/pyupgrade-2.29.1/tests/features/typing_pep604_test.py 2021-11-16 02:13:55.000000000 +0100 @@ -41,6 +41,19 @@ (3, 10), id='3.10+ empty Union', ), + # https://github.com/asottile/pyupgrade/issues/567 + pytest.param( + 'from typing import Optional\n' + 'def f() -> Optional["str"]: ...\n', + (3, 10), + id='3.10+ Optional of forward reference', + ), + pytest.param( + 'from typing import Union\n' + 'def f() -> Union[int, "str"]: ...\n', + (3, 10), + id='3.10+ Union of forward reference', + ), ), ) def test_fix_pep604_types_noop(s, version):