Accepting request 666937 from devel:languages:python
- BuildIgnore python[23]-pyparsing: python-packaging requires it for some actions it could perform, but we don't make use of these here. Ignoring this dependency allows us to break open a BuildCycle. - Update to version 2.3.0+git.1546912853.bf348d6: * Update CHANGES to include note on fixing issue #65; generalized the note about the decaf language example; added sample code from the statemachine examples. * Unit test to test fix for issue #65 * Fix inconsistency between Keyword(caseless=True) and CaselessKeyword (issue #65) * Fix typo: 'chemcialFormulas.py' -> 'chemicalFormulas.py' * Convert exception logging to use ParseException.explain() * Add experimental ParseException.explain() method, to return a multiline string showing the parse expressions leading to a parsing failure * Clean up CHANGES notes for new examples * Add document signoff and library book state examples; * Update statemachine demo code to Py3 * Update Lucene grammar example, but remove from Travis-CI acceptance scripts OBS-URL: https://build.opensuse.org/request/show/666937 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pyparsing?expand=0&rev=31
This commit is contained in:
commit
40d9250d62
15
_service
Normal file
15
_service
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<services>
|
||||||
|
<service name="tar_scm" mode="disabled">
|
||||||
|
<param name="versionprefix">2.3.0+git</param>
|
||||||
|
<param name="url">https://github.com/pyparsing/pyparsing</param>
|
||||||
|
<param name="scm">git</param>
|
||||||
|
<param name="exclude">.git*</param>
|
||||||
|
<!--param name="revision">lsp-support</param-->
|
||||||
|
<param name="changesgenerate">enable</param>
|
||||||
|
</service>
|
||||||
|
<service name="recompress" mode="disabled">
|
||||||
|
<param name="compression">xz</param>
|
||||||
|
<param name="file">*.tar</param>
|
||||||
|
</service>
|
||||||
|
<service name="set_version" mode="disabled" />
|
||||||
|
</services>
|
4
_servicedata
Normal file
4
_servicedata
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<servicedata>
|
||||||
|
<service name="tar_scm">
|
||||||
|
<param name="url">https://github.com/pyparsing/pyparsing</param>
|
||||||
|
<param name="changesrevision">bf348d6f00c58b6dbcfcc8e4e5ef2af7f904926c</param></service></servicedata>
|
@ -1,17 +1,30 @@
|
|||||||
--- a/examples/test_bibparse.py
|
--- a/examples/test_bibparse.py
|
||||||
+++ b/examples/test_bibparse.py
|
+++ b/examples/test_bibparse.py
|
||||||
@@ -1,195 +1,193 @@
|
@@ -1,191 +1,192 @@
|
||||||
""" Test for bibparse grammar """
|
""" Test for bibparse grammar """
|
||||||
|
|
||||||
+import unittest
|
+import unittest
|
||||||
from os.path import join as pjoin, dirname
|
|
||||||
|
|
||||||
from pyparsing import ParseException
|
from pyparsing import ParseException
|
||||||
from .btpyparse import Macro
|
from .btpyparse import Macro
|
||||||
from . import btpyparse as bp
|
from . import btpyparse as bp
|
||||||
|
|
||||||
-from nose.tools import assert_true, assert_false, assert_equal, assert_raises
|
-from nose.tools import assert_equal, assert_raises
|
||||||
+class TestBibparse(unittest.TestCase):
|
|
||||||
|
|
||||||
|
-def test_names():
|
||||||
|
- # check various types of names
|
||||||
|
- # All names can contains alphas, but not some special chars
|
||||||
|
- bad_chars = '"#%\'(),={}'
|
||||||
|
- for name_type, dig1f in ((bp.macro_def, False),
|
||||||
|
- (bp.field_name, False),
|
||||||
|
- (bp.entry_type, False),
|
||||||
|
- (bp.cite_key, True)):
|
||||||
|
- if dig1f: # can start with digit
|
||||||
|
- assert_equal(name_type.parseString('2t')[0], '2t')
|
||||||
|
- else:
|
||||||
|
- assert_raises(ParseException, name_type.parseString, '2t')
|
||||||
|
- # All of the names cannot contain some characters
|
||||||
|
+class TestBibParse(unittest.TestCase):
|
||||||
+ def test_names(self):
|
+ def test_names(self):
|
||||||
+ # check various types of names
|
+ # check various types of names
|
||||||
+ # All names can contains alphas, but not some special chars
|
+ # All names can contains alphas, but not some special chars
|
||||||
@ -33,25 +46,7 @@
|
|||||||
+ mr = bp.macro_ref
|
+ mr = bp.macro_ref
|
||||||
+ # can't start with digit
|
+ # can't start with digit
|
||||||
+ self.assertRaises(ParseException, mr.parseString, '2t')
|
+ self.assertRaises(ParseException, mr.parseString, '2t')
|
||||||
+ for char in bad_chars:
|
for char in bad_chars:
|
||||||
+ self.assertRaises(ParseException, mr.parseString, char)
|
|
||||||
+ self.assertEqual(mr.parseString('simple_test')[0].name, 'simple_test')
|
|
||||||
|
|
||||||
|
|
||||||
-def test_names():
|
|
||||||
- # check various types of names
|
|
||||||
- # All names can contains alphas, but not some special chars
|
|
||||||
- bad_chars = '"#%\'(),={}'
|
|
||||||
- for name_type, dig1f in ((bp.macro_def, False),
|
|
||||||
- (bp.field_name, False),
|
|
||||||
- (bp.entry_type, False),
|
|
||||||
- (bp.cite_key, True)):
|
|
||||||
- if dig1f: # can start with digit
|
|
||||||
- assert_equal(name_type.parseString('2t')[0], '2t')
|
|
||||||
- else:
|
|
||||||
- assert_raises(ParseException, name_type.parseString, '2t')
|
|
||||||
- # All of the names cannot contain some characters
|
|
||||||
- for char in bad_chars:
|
|
||||||
- assert_raises(ParseException, name_type.parseString, char)
|
- assert_raises(ParseException, name_type.parseString, char)
|
||||||
- # standard strings all OK
|
- # standard strings all OK
|
||||||
- assert_equal(name_type.parseString('simple_test')[0], 'simple_test')
|
- assert_equal(name_type.parseString('simple_test')[0], 'simple_test')
|
||||||
@ -217,6 +212,10 @@
|
|||||||
- assert_equal(res.asList(), res2.asList())
|
- assert_equal(res.asList(), res2.asList())
|
||||||
- res3 = [r.asList()[0] for r, start, end in bp.definitions.scanString(txt)]
|
- res3 = [r.asList()[0] for r, start, end in bp.definitions.scanString(txt)]
|
||||||
- assert_equal(res.asList(), res3)
|
- assert_equal(res.asList(), res3)
|
||||||
|
+ self.assertRaises(ParseException, mr.parseString, char)
|
||||||
|
+ self.assertEqual(mr.parseString('simple_test')[0].name, 'simple_test')
|
||||||
|
+
|
||||||
|
+
|
||||||
+ def test_numbers(self):
|
+ def test_numbers(self):
|
||||||
+ self.assertEqual(bp.number.parseString('1066')[0], '1066')
|
+ self.assertEqual(bp.number.parseString('1066')[0], '1066')
|
||||||
+ self.assertEqual(bp.number.parseString('0')[0], '0')
|
+ self.assertEqual(bp.number.parseString('0')[0], '0')
|
||||||
@ -373,6 +372,3 @@
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
- import nose
|
|
||||||
- nose.main()
|
|
||||||
+ unittest.main()
|
|
||||||
|
3
pyparsing-2.3.0+git.1546912853.bf348d6.tar.xz
Normal file
3
pyparsing-2.3.0+git.1546912853.bf348d6.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fdc7efcfe4cb9a8ab577c71bf9af1d3068f18ee5f1cf70eec7585885bd4d6977
|
||||||
|
size 541564
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:0f671df9146dbf152a8475cd1703d89909d8e70ad7c33eb706c0dfd7f498e668
|
|
||||||
size 590351
|
|
@ -1,3 +1,26 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jan 17 15:54:39 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||||
|
|
||||||
|
- BuildIgnore python[23]-pyparsing: python-packaging requires it
|
||||||
|
for some actions it could perform, but we don't make use of these
|
||||||
|
here. Ignoring this dependency allows us to break open a
|
||||||
|
BuildCycle.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 08 19:10:15 UTC 2019 - opensuse-packaging@opensuse.org
|
||||||
|
|
||||||
|
- Update to version 2.3.0+git.1546912853.bf348d6:
|
||||||
|
* Update CHANGES to include note on fixing issue #65; generalized the note about the decaf language example; added sample code from the statemachine examples.
|
||||||
|
* Unit test to test fix for issue #65
|
||||||
|
* Fix inconsistency between Keyword(caseless=True) and CaselessKeyword (issue #65)
|
||||||
|
* Fix typo: 'chemcialFormulas.py' -> 'chemicalFormulas.py'
|
||||||
|
* Convert exception logging to use ParseException.explain()
|
||||||
|
* Add experimental ParseException.explain() method, to return a multiline string showing the parse expressions leading to a parsing failure
|
||||||
|
* Clean up CHANGES notes for new examples
|
||||||
|
* Add document signoff and library book state examples;
|
||||||
|
* Update statemachine demo code to Py3
|
||||||
|
* Update Lucene grammar example, but remove from Travis-CI acceptance scripts
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jan 7 12:36:20 UTC 2019 - Matěj Cepl <mcepl@suse.com>
|
Mon Jan 7 12:36:20 UTC 2019 - Matěj Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
@ -21,35 +21,37 @@
|
|||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||||
%global flavor @BUILD_FLAVOR@%{nil}
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
%if "%{flavor}" == "test"
|
%if "%{flavor}" == "test"
|
||||||
|
%define psuffix -test
|
||||||
%bcond_without test
|
%bcond_without test
|
||||||
%else
|
%else
|
||||||
|
%define psuffix %{nil}
|
||||||
%bcond_with test
|
%bcond_with test
|
||||||
%endif
|
%endif
|
||||||
%if %{with test}
|
Name: python-pyparsing%{psuffix}
|
||||||
Name: python-pyparsing-%{flavor}
|
Version: 2.3.0+git.1546912853.bf348d6
|
||||||
%else
|
|
||||||
Name: python-pyparsing
|
|
||||||
%endif
|
|
||||||
Version: 2.3.1~test5
|
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Grammar Parser Library for Python
|
Summary: Grammar Parser Library for Python
|
||||||
License: MIT AND GPL-2.0-or-later AND GPL-3.0-or-later
|
License: MIT AND GPL-2.0-or-later AND GPL-3.0-or-later
|
||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
URL: https://github.com/pyparsing/pyparsing/
|
URL: https://github.com/pyparsing/pyparsing/
|
||||||
# Upstream tarball from the master branch with gh#pyparsing/pyparsing#47
|
# Upstream tarball from the master branch with gh#pyparsing/pyparsing#47
|
||||||
Source: pyparsing-%{version}.tar.gz
|
|
||||||
# Remove dependency on nose, gh#pyparsing/pyparsing#64
|
|
||||||
Patch: nose_to_unittest.patch
|
|
||||||
BuildRequires: %{python_module base}
|
|
||||||
# Source: https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-%%{version}.tar.gz
|
# Source: https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-%%{version}.tar.gz
|
||||||
|
Source: pyparsing-%{version}.tar.xz
|
||||||
|
# Remove dependency on nose, gh#pyparsing/pyparsing#64
|
||||||
|
Patch0: nose_to_unittest.patch
|
||||||
|
BuildRequires: %{python_module base}
|
||||||
|
BuildRequires: %{python_module setuptools}
|
||||||
|
# Not necessary for python3, but tests fail with the standard unittest
|
||||||
|
# and python 2.7
|
||||||
|
BuildRequires: %{python_module unittest2}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
BuildRequires: python2-unittest2
|
#!BuildIgnore: python2-pyparsing
|
||||||
|
#!BuildIgnore: python3-pyparsing
|
||||||
# do not add dependencies on setuptools and ideally not even full "python";
|
# do not add dependencies on setuptools and ideally not even full "python";
|
||||||
# this is now a dependency of setuptools
|
# this is now a dependency of setuptools
|
||||||
Requires: python-base
|
Requires: python-base
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%ifpython2
|
%ifpython2
|
||||||
Provides: %{oldpython}-parsing = %{version}
|
Provides: %{oldpython}-parsing = %{version}
|
||||||
Obsoletes: %{oldpython}-parsing < %{version}
|
Obsoletes: %{oldpython}-parsing < %{version}
|
||||||
@ -63,7 +65,7 @@ expressions. The pyparsing module provides a library of classes that client
|
|||||||
code uses to construct the grammar directly in Python code.
|
code uses to construct the grammar directly in Python code.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{modname}-2.3.1
|
%setup -q -n %{modname}-%{version}
|
||||||
%autopatch -p1
|
%autopatch -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -81,16 +83,16 @@ cp -r pyparsing.egg-info %{buildroot}%{$python_sitelib}/pyparsing-%{version}-py%
|
|||||||
|
|
||||||
%check
|
%check
|
||||||
%if %{with test}
|
%if %{with test}
|
||||||
export PYTHONPATH=.:example
|
%{python_expand export PYTHONPATH=.
|
||||||
# unittest from Python 2.7 doesn't load tests correctly
|
# unittest from Python 2.7 doesn't load tests correctly
|
||||||
python2 -munittest2 -v simple_unit_tests.py examples.test_bibparse examples.antlr_grammar_tests
|
# no work simple_unit_tests.py examples.antlr_grammar_tests
|
||||||
python3 -munittest -v simple_unit_tests.py examples.test_bibparse examples.antlr_grammar_tests
|
$python -munittest2 -v examples.test_bibparse
|
||||||
# Fails with python2 gh#pyparsing/pyparsing#63
|
$python unitTests.py
|
||||||
python3 unitTests.py
|
}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files %{python_files}
|
|
||||||
%if ! %{with test}
|
%if ! %{with test}
|
||||||
|
%files %{python_files}
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc CHANGES README.rst
|
%doc CHANGES README.rst
|
||||||
%{python_sitelib}/pyparsing.py*
|
%{python_sitelib}/pyparsing.py*
|
||||||
|
Loading…
Reference in New Issue
Block a user