Hello community,
here is the log from the commit of package python-Arpeggio for openSUSE:Factory
checked in at 2019-06-18 14:49:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Arpeggio (Old)
and /work/SRC/openSUSE:Factory/.python-Arpeggio.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Arpeggio"
Tue Jun 18 14:49:33 2019 rev:5 rq:709299 version:1.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Arpeggio/python-Arpeggio.changes
2019-03-22 14:59:48.233850721 +0100
+++
/work/SRC/openSUSE:Factory/.python-Arpeggio.new.4811/python-Arpeggio.changes
2019-06-18 14:49:41.769677008 +0200
@@ -1,0 +2,17 @@
+Wed Jun 12 05:09:35 UTC 2019 - Matej Cepl <[email protected]>
+
+- Update imp-to-importlib.patch to deal with irregular imports as well.
+
+-------------------------------------------------------------------
+Tue Jun 11 20:52:07 CEST 2019 - Matej Cepl <[email protected]>
+
+- It's better to fix a bug, than to switch off test. Add
+ imp-to-importlib.patch replacing use of imp library in Python
+ 3 with importlib. gh#textX/Arpeggio#54
+
+-------------------------------------------------------------------
+Tue Jun 11 13:14:44 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Skip one randomly failing test
+
+-------------------------------------------------------------------
New:
----
imp-to-importlib.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Arpeggio.spec ++++++
--- /var/tmp/diff_new_pack.gF8xLg/_old 2019-06-18 14:49:42.645676618 +0200
+++ /var/tmp/diff_new_pack.gF8xLg/_new 2019-06-18 14:49:42.649676617 +0200
@@ -23,14 +23,16 @@
Summary: Packrat parser interpreter
License: MIT
Group: Development/Languages/Python
-Url: https://github.com/textX/Arpeggio/
+URL: https://github.com/textX/Arpeggio/
Source: https://github.com/textX/Arpeggio/archive/v%{version}.tar.gz
+# PATCH-FIX-UPSTREAM imp-to-importlib.patch gh#textX/Arpeggio#54 [email protected]
+# Replace use of imp library with importlib.
+Patch0: imp-to-importlib.patch
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
-
%python_subpackages
%description
@@ -42,6 +44,7 @@
%prep
%setup -q -n Arpeggio-%{version}
+%autopatch -p1
%build
%python_build
@@ -51,7 +54,7 @@
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib}
py.test-%{$python_bin_suffix} -v tests/unit
+%pytest tests/unit
%files %{python_files}
%doc README.rst CHANGELOG AUTHORS.md
++++++ imp-to-importlib.patch ++++++
--- a/tests/unit/test_examples.py
+++ b/tests/unit/test_examples.py
@@ -7,11 +7,16 @@
# License: MIT License
#######################################################################
import pytest # noqa
+import logging
import os
import sys
import glob
-import imp
+PY2 = sys.version_info[0] < 3
+if PY2:
+ import imp
+else:
+ import importlib
def test_examples():
@@ -24,10 +29,18 @@ def test_examples():
example_dir = os.path.dirname(e)
sys.path.insert(0, example_dir)
(module_name, _) = os.path.splitext(os.path.basename(e))
- (module_file, module_path, desc) = \
- imp.find_module(module_name, [example_dir])
+ if PY2:
+ (module_file, module_path, desc) = \
+ imp.find_module(module_name, [example_dir])
+ try:
+ mod = imp.load_module(module_name, module_file, module_path,
desc)
+ except ImportError:
+ logging.exception('Error when processing %s', module_name)
+ raise
+ else:
+ mod_spec = importlib.util.spec_from_file_location(module_name, e)
+ mod = importlib.util.module_from_spec(mod_spec)
+ mod_spec.loader.exec_module(mod)
- m = imp.load_module(module_name, module_file, module_path, desc)
-
- if hasattr(m, 'main'):
- m.main(debug=False)
+ if hasattr(mod, 'main'):
+ mod.main(debug=False)
--- a/examples/csv/csv_peg.py
+++ b/examples/csv/csv_peg.py
@@ -10,7 +10,7 @@ import os
import pprint
from arpeggio import visit_parse_tree
from arpeggio.cleanpeg import ParserPEG
-from csv import CSVVisitor
+from examples.csv.csv import CSVVisitor
def main(debug=False):
# First we will make a parser - an instance of the CVS parser model.
--- /dev/null
+++ b/examples/__init__.py
@@ -0,0 +1 @@
+# Comment left intentionally blank