forked from pool/python-parse_type
Accepting request 674923 from home:mcepl:branches:devel:languages:python
tralala OBS-URL: https://build.opensuse.org/request/show/674923 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-parse_type?expand=0&rev=3
This commit is contained in:
@@ -25,18 +25,18 @@ License: BSD-3-Clause
|
||||
Group: Development/Languages/Python
|
||||
Url: https://github.com/jenisys/parse_type
|
||||
Source: https://files.pythonhosted.org/packages/source/p/parse_type/parse_type-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM python3-fixes.patch gh#jenisys/parse_type#13 mcepl@suse.com
|
||||
Patch0: python3-fixes.patch
|
||||
Patch0: testsuite-fix.patch
|
||||
BuildRequires: %{python_module devel}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildRequires: python2-enum34
|
||||
# SECTION test requirements
|
||||
BuildRequires: %{python_module parse >= 1.8}
|
||||
BuildRequires: %{python_module parse >= 1.11}
|
||||
BuildRequires: %{python_module pytest >= 3.0}
|
||||
BuildRequires: %{python_module six >= 1.11}
|
||||
# /SECTION
|
||||
BuildRequires: fdupes
|
||||
Requires: python-parse >= 1.8
|
||||
Requires: python-parse >= 1.11
|
||||
Requires: python-six >= 1.11
|
||||
Suggests: python-enum34
|
||||
Suggests: python-ordereddict
|
||||
@@ -65,6 +65,9 @@ the following features:
|
||||
%setup -q -n parse_type-%{version}
|
||||
%autopatch -p1
|
||||
|
||||
# Remove bundled parse.py
|
||||
rm -fv parse_type/parse.py
|
||||
|
||||
%build
|
||||
%python_build
|
||||
|
||||
@@ -72,8 +75,12 @@ the following features:
|
||||
%python_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
%python_expand py.test-%{$python_bin_suffix} -v -k 'not (test_parse_with_many0_and_unnamed_fields or test_parse_with_many_and_unnamed_fields or test_parse_with_optional_and_unnamed_fields or test_pm_overflow_issue16)'
|
||||
|
||||
%files %{python_files}
|
||||
%doc LICENSE README.rst
|
||||
%license LICENSE
|
||||
%doc README.rst
|
||||
%{python_sitelib}/*
|
||||
|
||||
%changelog
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
--- a/parse_type/parse_util.py
|
||||
+++ b/parse_type/parse_util.py
|
||||
@@ -6,7 +6,7 @@ Provides generic utility classes for the
|
||||
|
||||
from __future__ import absolute_import
|
||||
from collections import namedtuple
|
||||
-import parse
|
||||
+from . import parse
|
||||
import six
|
||||
|
||||
|
||||
--- a/parse_type/cardinality_field.py
|
||||
+++ b/parse_type/cardinality_field.py
|
||||
@@ -98,7 +98,7 @@ class CardinalityFieldTypeBuilder(object
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
- import parse
|
||||
+ from . import parse
|
||||
|
||||
@parse.with_pattern(r'\d+')
|
||||
def parse_number(text):
|
||||
--- a/parse_type/cfparse.py
|
||||
+++ b/parse_type/cfparse.py
|
||||
@@ -7,7 +7,7 @@ cardinality fields in (user-defined) typ
|
||||
from __future__ import absolute_import
|
||||
from .cardinality_field import CardinalityField, CardinalityFieldTypeBuilder
|
||||
from .parse_util import FieldParser
|
||||
-import parse
|
||||
+from . import parse
|
||||
import logging
|
||||
|
||||
|
||||
--- a/parse_type/parse.py
|
||||
+++ b/parse_type/parse.py
|
||||
@@ -383,7 +383,7 @@ def with_pattern(pattern):
|
||||
This annotates the type converter with the :attr:`pattern` attribute.
|
||||
|
||||
EXAMPLE:
|
||||
- >>> import parse
|
||||
+ >>> from . import parse
|
||||
>>> @parse.with_pattern(r"\d+")
|
||||
... def parse_number(text):
|
||||
... return int(text)
|
||||
--- a/tests/test_builder.py
|
||||
+++ b/tests/test_builder.py
|
||||
@@ -12,7 +12,7 @@ from .parse_type_test \
|
||||
import parse_number, parse_yesno, parse_person_choice, parse_color, Color
|
||||
from parse_type import TypeBuilder, build_type_dict
|
||||
from enum import Enum
|
||||
-import parse
|
||||
+from parse_type import parse
|
||||
import re
|
||||
import unittest
|
||||
|
||||
--- a/tests/test_cardinality.py
|
||||
+++ b/tests/test_cardinality.py
|
||||
@@ -8,7 +8,7 @@ from __future__ import absolute_import
|
||||
from .parse_type_test import ParseTypeTestCase, parse_number
|
||||
from parse_type import Cardinality, TypeBuilder, build_type_dict
|
||||
from parse_type.parse import Parser as ParserExt
|
||||
-import parse
|
||||
+from parse_type import parse
|
||||
import unittest
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
--- a/tests/test_cardinality_field0.py
|
||||
+++ b/tests/test_cardinality_field0.py
|
||||
@@ -19,7 +19,7 @@ STATUS:
|
||||
from __future__ import absolute_import
|
||||
from .parse_type_test import ParseTypeTestCase
|
||||
from parse_type import TypeBuilder, build_type_dict
|
||||
-import parse
|
||||
+from parse_type import parse
|
||||
import unittest
|
||||
|
||||
ENABLED = False
|
||||
--- a/tests/test_parse_decorator.py
|
||||
+++ b/tests/test_parse_decorator.py
|
||||
@@ -7,7 +7,7 @@ Integrated into :mod:`parse` module.
|
||||
from __future__ import absolute_import
|
||||
from .parse_type_test import ParseTypeTestCase
|
||||
from parse_type import build_type_dict
|
||||
-import parse
|
||||
+from parse_type import parse
|
||||
import unittest
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ class TestParseTypeWithPatternDecorator(
|
||||
|
||||
is equivalent to:
|
||||
|
||||
- >>> import parse
|
||||
+ >>> from . import parse
|
||||
>>> @parse.with_pattern(r"\d+")
|
||||
... def parse_number(text):
|
||||
... return int(text)
|
||||
--- a/tests/test_parse_type_parse.py
|
||||
+++ b/tests/test_parse_type_parse.py
|
||||
@@ -13,10 +13,6 @@ See the end of the source file for the l
|
||||
|
||||
from __future__ import absolute_import
|
||||
import unittest
|
||||
-try:
|
||||
- import unittest2 as unittest
|
||||
-except ImportError:
|
||||
- import unittest
|
||||
# -- ADAPTATION-END
|
||||
from datetime import datetime, time
|
||||
import re
|
||||
--- a/tests/parse_type_test.py
|
||||
+++ b/tests/parse_type_test.py
|
||||
@@ -3,10 +3,7 @@
|
||||
from __future__ import absolute_import
|
||||
from parse_type import TypeBuilder
|
||||
from enum import Enum
|
||||
-try:
|
||||
- import unittest2 as unittest
|
||||
-except ImportError:
|
||||
- import unittest
|
||||
+import unittest
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
74
testsuite-fix.patch
Normal file
74
testsuite-fix.patch
Normal file
@@ -0,0 +1,74 @@
|
||||
--- a/tests/test_cardinality.py
|
||||
+++ b/tests/test_cardinality.py
|
||||
@@ -5,11 +5,12 @@ Test suite to test the :mod:`parse_type.
|
||||
"""
|
||||
|
||||
from __future__ import absolute_import
|
||||
-from .parse_type_test import ParseTypeTestCase, parse_number
|
||||
-from parse_type import Cardinality, TypeBuilder, build_type_dict
|
||||
-from parse_type.parse import Parser as ParserExt
|
||||
import parse
|
||||
import unittest
|
||||
+from parse import Parser as ParserExt
|
||||
+
|
||||
+from .parse_type_test import ParseTypeTestCase, parse_number
|
||||
+from parse_type import Cardinality, TypeBuilder, build_type_dict
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# TEST CASE: TestCardinality
|
||||
--- a/tests/test_builder.py
|
||||
+++ b/tests/test_builder.py
|
||||
@@ -495,35 +495,6 @@ Person: Alice
|
||||
self.assertIsNotNone(result)
|
||||
self.assertEqual(result.fixed, tuple(expected))
|
||||
|
||||
- def test_parse_with_many_unnamed_fields_with_variants(self):
|
||||
- from parse_type.parse import Parser as Parser2
|
||||
- type_dict = build_type_dict(self.TYPE_CONVERTERS)
|
||||
- schema = """\
|
||||
-Number: {:Number}
|
||||
-YesNo: {:YesNo}
|
||||
-Color: {:Color}
|
||||
-Person: {:PersonChoice}
|
||||
-Variant2: {:Color_or_PersonChoice}
|
||||
-Variant1: {:Number_or_YesNo}
|
||||
-"""
|
||||
- # -- OMIT: XFAIL, due to group_index delta counting => Parser problem.
|
||||
- parser = Parser2(schema, type_dict)
|
||||
-
|
||||
- text = """\
|
||||
-Number: 12
|
||||
-YesNo: yes
|
||||
-Color: red
|
||||
-Person: Alice
|
||||
-Variant2: Bob
|
||||
-Variant1: 42
|
||||
-"""
|
||||
- expected = [ 12, True, Color.red, "Alice", "Bob", 42 ]
|
||||
-
|
||||
- result = parser.parse(text)
|
||||
- self.assertIsNotNone(result)
|
||||
- self.assertEqual(result.fixed, tuple(expected))
|
||||
-
|
||||
-
|
||||
# -----------------------------------------------------------------------------
|
||||
# MAIN:
|
||||
# -----------------------------------------------------------------------------
|
||||
--- a/tests/test_parse_type_parse.py
|
||||
+++ b/tests/test_parse_type_parse.py
|
||||
@@ -22,14 +22,7 @@ from datetime import datetime, time
|
||||
import re
|
||||
|
||||
# -- EXTENSION:
|
||||
-import os
|
||||
-PARSE_MODULE = os.environ.get("PARSE_TYPE_PARSE_MODULE", "parse_type.parse")
|
||||
-if PARSE_MODULE.startswith("parse_type"):
|
||||
- # -- USE VENDOR MODULE: parse_type.parse (probably older that original)
|
||||
- from parse_type import parse
|
||||
-else:
|
||||
- # -- USE ORIGINAL MODULE: parse
|
||||
- import parse
|
||||
+import parse
|
||||
# -- EXTENSION-END
|
||||
|
||||
|
||||
Reference in New Issue
Block a user