Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-asttokens for 
openSUSE:Factory checked in at 2021-04-17 00:02:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-asttokens (Old)
 and      /work/SRC/openSUSE:Factory/.python-asttokens.new.12324 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-asttokens"

Sat Apr 17 00:02:08 2021 rev:2 rq:885983 version:2.0.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-asttokens/python-asttokens.changes        
2020-12-05 20:38:17.646776470 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-asttokens.new.12324/python-asttokens.changes 
    2021-04-17 00:02:27.169659139 +0200
@@ -1,0 +2,5 @@
+Fri Apr 16 12:42:11 UTC 2021 - Mark??ta Machov?? <mmach...@suse.com>
+
+- Add patch py39.patch to fix build with Python 3.9
+
+-------------------------------------------------------------------

New:
----
  py39.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-asttokens.spec ++++++
--- /var/tmp/diff_new_pack.H9LMg9/_old  2021-04-17 00:02:27.569659769 +0200
+++ /var/tmp/diff_new_pack.H9LMg9/_new  2021-04-17 00:02:27.569659769 +0200
@@ -1,6 +1,7 @@
 #
 # spec file for package python-asttokens
 #
+# Copyright (c) 2021 SUSE LLC
 # Copyright (c) 2019-2020 Malcolm J Lewis <malcolmle...@opensuse.org>
 #
 # All modifications and additions to the file contributed by third parties
@@ -12,27 +13,29 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
 
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-asttokens
 Version:        2.0.4
 Release:        0
-License:        Apache-2.0
 Summary:        Annotate AST trees with source code positions
-Url:            https://github.com/gristlabs/asttokens
+License:        Apache-2.0
 Group:          Development/Languages/Python
+URL:            https://github.com/gristlabs/asttokens
 Source:         
https://files.pythonhosted.org/packages/source/a/asttokens/asttokens-%{version}.tar.gz
-BuildRequires:  python-rpm-macros
+Patch0:         py39.patch
 BuildRequires:  %{python_module astroid}
 BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools_scm}
 BuildRequires:  %{python_module six}
-BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module toml}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
+BuildRequires:  python-rpm-macros
 ## Manual Begin
 Requires:       python-six
 ## Manual End
@@ -44,6 +47,7 @@
 
 %prep
 %setup -q -n asttokens-%{version}
+%autopatch -p1
 
 %build
 export LC_ALL=en_US.utf8
@@ -55,7 +59,7 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
-%python_exec -m unittest discover -v
+%pyunittest -v
 
 %files %{python_files}
 %doc README.rst

++++++ py39.patch ++++++
>From d8ff80ee7d2e64c5e1daf50cc38eb99663f1b1ac Mon Sep 17 00:00:00 2001
From: Alex Hall <alex.moj...@gmail.com>
Date: Fri, 26 Feb 2021 15:49:29 +0200
Subject: [PATCH] Make 3.9 support official, fix tests fo 3.9 involving starred
 expressions (#66)

* Handle starred expressions in tests
* Make 3.9 support official
* pypy2 instead of pypy2.7
* pypy3 instead of pypy3.5
---
 .travis.yml               | 6 +++---
 asttokens/util.py         | 5 +++++
 setup.cfg                 | 1 +
 tests/test_mark_tokens.py | 3 +++
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/asttokens/util.py b/asttokens/util.py
index c29dd07..79ac430 100644
--- a/asttokens/util.py
+++ b/asttokens/util.py
@@ -142,6 +142,11 @@ def is_joined_str(node):
   return node.__class__.__name__ == 'JoinedStr'
 
 
+def is_starred(node):
+  """Returns whether node is a starred expression node."""
+  return node.__class__.__name__ == 'Starred'
+
+
 def is_slice(node):
   """Returns whether node represents a slice, e.g. `1:2` in `x[1:2]`"""
   # Before 3.9, a tuple containing a slice is an ExtSlice,
diff --git a/tests/test_mark_tokens.py b/tests/test_mark_tokens.py
index a0f68b2..90cff20 100644
--- a/tests/test_mark_tokens.py
+++ b/tests/test_mark_tokens.py
@@ -728,9 +728,12 @@ def parse_snippet(self, text, node):
     # For expressions and statements, we add a dummy statement '_' before it 
because if it's just a
     # string contained in an astroid.Const or astroid.Expr it will end up in 
the doc attribute and be
     # a pain to extract for comparison
+    # For starred expressions, e.g. `*args`, we wrap it in a function call to 
make it parsable.
     indented = re.match(r'^[ \t]+\S', text)
     if indented:
       return self.module.parse('def dummy():\n' + text).body[0].body[0]
+    if util.is_starred(node):
+      return self.module.parse('f(' + text + ')').body[0].value.args[0]
     if util.is_expr(node):
       return self.module.parse('_\n(' + text + ')').body[1].value
     if util.is_module(node):

Reply via email to