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):

Reply via email to