Hello community,

here is the log from the commit of package python-DataProperty for 
openSUSE:Factory checked in at 2020-02-18 10:38:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-DataProperty (Old)
 and      /work/SRC/openSUSE:Factory/.python-DataProperty.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-DataProperty"

Tue Feb 18 10:38:39 2020 rev:2 rq:774826 version:0.46.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-DataProperty/python-DataProperty.changes  
2020-02-11 22:24:13.463528753 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-DataProperty.new.26092/python-DataProperty.changes
       2020-02-18 10:39:38.228850454 +0100
@@ -1,0 +2,6 @@
+Sun Feb 16 10:00:35 UTC 2020 - Martin Hauke <mar...@gmx.de>
+
+- Update to version 0.46.3:
+  * no upstream changelog
+
+-------------------------------------------------------------------

Old:
----
  DataProperty-0.45.0.tar.gz

New:
----
  DataProperty-0.46.3.tar.gz

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

Other differences:
------------------
++++++ python-DataProperty.spec ++++++
--- /var/tmp/diff_new_pack.N6wX1n/_old  2020-02-18 10:39:40.516855121 +0100
+++ /var/tmp/diff_new_pack.N6wX1n/_new  2020-02-18 10:39:40.520855130 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-DataProperty
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,31 +12,32 @@
 # 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-DataProperty
-Version:        0.45.0
+Version:        0.46.3
 Release:        0
-License:        MIT
 Summary:        Python library for extract property from data
-Url:            https://github.com/thombashi/DataProperty
+License:        MIT
 Group:          Development/Languages/Python
+URL:            https://github.com/thombashi/DataProperty
 Source:         
https://files.pythonhosted.org/packages/source/D/DataProperty/DataProperty-%{version}.tar.gz
-BuildRequires:  python-rpm-macros
 BuildRequires:  %{python_module setuptools >= 38.3.0}
+BuildRequires:  python-rpm-macros
 # SECTION test requirements
 BuildRequires:  %{python_module mbstrdecoder >= 0.8.3}
-BuildRequires:  %{python_module six >= 1.10.0}
-BuildRequires:  %{python_module typepy >= 0.6.4}
 BuildRequires:  %{python_module pytest}
-BuildRequires:  %{python_module termcolor}
-BuildRequires:  %{python_module pytz >= 2018.9}
 BuildRequires:  %{python_module python-dateutil >= 2.8.0}
+BuildRequires:  %{python_module pytz >= 2018.9}
+BuildRequires:  %{python_module six >= 1.10.0}
+BuildRequires:  %{python_module termcolor}
+BuildRequires:  %{python_module typepy >= 0.6.4}
+BuildRequires:  python-enum34
 BuildRequires:  python-futures
 BuildRequires:  python-ipaddress
-BuildRequires:  python-enum34
 # /SECTION
 BuildRequires:  fdupes
 Requires:       python-mbstrdecoder >= 0.8.3
@@ -44,9 +45,9 @@
 Requires:       python-six >= 1.10.0
 Requires:       python-typepy >= 0.6.4
 %ifpython2
+Requires:       python-enum34
 Requires:       python-futures
 Requires:       python-ipaddress
-Requires:       python-enum34
 %endif
 BuildArch:      noarch
 %python_subpackages

++++++ DataProperty-0.45.0.tar.gz -> DataProperty-0.46.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/DataProperty.egg-info/PKG-INFO 
new/DataProperty-0.46.3/DataProperty.egg-info/PKG-INFO
--- old/DataProperty-0.45.0/DataProperty.egg-info/PKG-INFO      2020-02-05 
17:37:42.000000000 +0100
+++ new/DataProperty-0.46.3/DataProperty.egg-info/PKG-INFO      2020-02-14 
14:42:31.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: DataProperty
-Version: 0.45.0
+Version: 0.46.3
 Summary: Python library for extract property from data.
 Home-page: https://github.com/thombashi/DataProperty
 Author: Tsuyoshi Hombashi
@@ -244,7 +244,6 @@
         Test dependencies
         -----------------
         - `pytest <https://pypi.org/project/pytest>`__
-        - `pytest-runner <https://github.com/pytest-dev/pytest-runner>`__
         - `tox <https://pypi.org/project/tox>`__
         
 Keywords: data,property
@@ -261,6 +260,7 @@
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Software Development :: Libraries
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/DataProperty-0.45.0/DataProperty.egg-info/SOURCES.txt 
new/DataProperty-0.46.3/DataProperty.egg-info/SOURCES.txt
--- old/DataProperty-0.45.0/DataProperty.egg-info/SOURCES.txt   2020-02-05 
17:37:42.000000000 +0100
+++ new/DataProperty-0.46.3/DataProperty.egg-info/SOURCES.txt   2020-02-14 
14:42:31.000000000 +0100
@@ -43,4 +43,5 @@
 test/test_formatter.py
 test/test_function.py
 test/test_logger.py
+test/test_preprocessor.py
 test/test_str_function.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/DataProperty-0.45.0/DataProperty.egg-info/requires.txt 
new/DataProperty-0.46.3/DataProperty.egg-info/requires.txt
--- old/DataProperty-0.45.0/DataProperty.egg-info/requires.txt  2020-02-05 
17:37:42.000000000 +0100
+++ new/DataProperty-0.46.3/DataProperty.egg-info/requires.txt  2020-02-14 
14:42:31.000000000 +0100
@@ -1,7 +1,7 @@
 setuptools>=38.3.0
-mbstrdecoder<1.0.0,>=0.8.3
-six<2.0.0,>=1.10.0
-typepy[datetime]<1.0.0,>=0.6.4
+mbstrdecoder<2,>=0.8.3
+six<2,>=1.10.0
+typepy[datetime]<2,>=0.6.4
 
 [:python_version < "3.2"]
 futures
@@ -16,5 +16,5 @@
 loguru<1,>=0.4.1
 
 [test]
-termcolor
 pytest
+termcolor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/PKG-INFO 
new/DataProperty-0.46.3/PKG-INFO
--- old/DataProperty-0.45.0/PKG-INFO    2020-02-05 17:37:42.266297300 +0100
+++ new/DataProperty-0.46.3/PKG-INFO    2020-02-14 14:42:31.602936500 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: DataProperty
-Version: 0.45.0
+Version: 0.46.3
 Summary: Python library for extract property from data.
 Home-page: https://github.com/thombashi/DataProperty
 Author: Tsuyoshi Hombashi
@@ -244,7 +244,6 @@
         Test dependencies
         -----------------
         - `pytest <https://pypi.org/project/pytest>`__
-        - `pytest-runner <https://github.com/pytest-dev/pytest-runner>`__
         - `tox <https://pypi.org/project/tox>`__
         
 Keywords: data,property
@@ -261,6 +260,7 @@
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Software Development :: Libraries
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/README.rst 
new/DataProperty-0.46.3/README.rst
--- old/DataProperty-0.45.0/README.rst  2020-02-05 11:52:41.000000000 +0100
+++ new/DataProperty-0.46.3/README.rst  2020-02-14 14:42:19.000000000 +0100
@@ -232,5 +232,4 @@
 Test dependencies
 -----------------
 - `pytest <https://pypi.org/project/pytest>`__
-- `pytest-runner <https://github.com/pytest-dev/pytest-runner>`__
 - `tox <https://pypi.org/project/tox>`__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/dataproperty/__version__.py 
new/DataProperty-0.46.3/dataproperty/__version__.py
--- old/DataProperty-0.45.0/dataproperty/__version__.py 2020-02-05 
17:37:00.000000000 +0100
+++ new/DataProperty-0.46.3/dataproperty/__version__.py 2020-02-14 
14:42:19.000000000 +0100
@@ -1,11 +1,9 @@
 # encoding: utf-8
 
-from datetime import datetime
-
 
 __author__ = "Tsuyoshi Hombashi"
-__copyright__ = "Copyright 2016-{}, {}".format(datetime.now().year, __author__)
+__copyright__ = "Copyright 2016, {}".format(__author__)
 __license__ = "MIT License"
-__version__ = "0.45.0"
+__version__ = "0.46.3"
 __maintainer__ = __author__
 __email__ = "tsuyoshi.homba...@gmail.com"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/dataproperty/_align_getter.py 
new/DataProperty-0.46.3/dataproperty/_align_getter.py
--- old/DataProperty-0.45.0/dataproperty/_align_getter.py       2020-02-05 
09:25:20.000000000 +0100
+++ new/DataProperty-0.46.3/dataproperty/_align_getter.py       2020-02-14 
14:42:19.000000000 +0100
@@ -21,9 +21,7 @@
         self.__typecode_align_table = x
 
     def get_align_from_typecode(self, typecode):
-        # pytype: disable=attribute-error
         return self.__typecode_align_table.get(typecode, self.default_align)
-        # pytype: enable=attribute-error
 
     def __init__(self):
         self.typecode_align_table = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/dataproperty/_extractor.py 
new/DataProperty-0.46.3/dataproperty/_extractor.py
--- old/DataProperty-0.45.0/dataproperty/_extractor.py  2020-02-05 
16:39:39.000000000 +0100
+++ new/DataProperty-0.46.3/dataproperty/_extractor.py  2020-02-14 
14:42:19.000000000 +0100
@@ -9,6 +9,7 @@
 import copy
 import enum
 import multiprocessing
+import warnings
 from collections import Counter
 
 from six import text_type
@@ -100,12 +101,14 @@
 
     @property
     def header_list(self):
-        """alias to headers"""
+        warnings.warn("'header_list' has moved to 'headers'", 
DeprecationWarning)
+
         return self.headers
 
     @header_list.setter
     def header_list(self, value):
-        """alias to headers"""
+        warnings.warn("'header_list' has moved to 'headers'", 
DeprecationWarning)
+
         self.headers = value
 
     @property
@@ -307,6 +310,22 @@
         self.__matrix_formatting = value
         self.__clear_cache()
 
+    @property
+    def max_workers(self):
+        return self.__max_workers
+
+    @max_workers.setter
+    def max_workers(self, value):
+        try:
+            from _multiprocessing import SemLock, sem_unlink  # noqa
+        except ImportError:
+            logger.debug("This platform lacks a functioning sem_open 
implementation")
+            value = 1
+
+        self.__max_workers = value
+        if not self.__max_workers:
+            self.__max_workers = multiprocessing.cpu_count()
+
     def __init__(self):
         self.max_workers = multiprocessing.cpu_count()
 
@@ -428,9 +447,6 @@
             logger.debug("already a dataproperty matrix")
             return value_matrix
 
-        if not self.max_workers:
-            self.max_workers = multiprocessing.cpu_count()
-
         if self.max_workers <= 1:
             return self.__to_dp_matrix_st(value_matrix)
 
@@ -449,6 +465,10 @@
             strict_level_map=MIN_STRICT_LEVEL_MAP,
         )
 
+    def update_preprocessor(self, **kwargs):
+        self.__preprocessor.update(**kwargs)
+        self.__update_dp_converter()
+
     @staticmethod
     def __is_dp_matrix(value):
         if not value:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/dataproperty/_preprocessor.py 
new/DataProperty-0.46.3/dataproperty/_preprocessor.py
--- old/DataProperty-0.45.0/dataproperty/_preprocessor.py       2020-02-05 
17:04:22.000000000 +0100
+++ new/DataProperty-0.46.3/dataproperty/_preprocessor.py       2020-02-14 
14:42:19.000000000 +0100
@@ -71,6 +71,21 @@
         )
         return (data, no_ansi_escape_data)
 
+    def update(self, **kwargs):
+        is_update = False
+
+        for key, value in kwargs.items():
+            if not hasattr(self, key):
+                continue
+
+            if getattr(self, key) == value:
+                continue
+
+            setattr(self, key, value)
+            is_update = True
+
+        return is_update
+
     def __preprocess_string(
         self, raw_data,
     ):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/dataproperty/logger/_logger.py 
new/DataProperty-0.46.3/dataproperty/logger/_logger.py
--- old/DataProperty-0.45.0/dataproperty/logger/_logger.py      2020-02-05 
11:43:23.000000000 +0100
+++ new/DataProperty-0.46.3/dataproperty/logger/_logger.py      2020-02-14 
14:42:19.000000000 +0100
@@ -15,30 +15,17 @@
     from loguru import logger
 
     logger.disable(MODULE_NAME)
-    LOGURU_INSTALLED = True
 except ImportError:
-    logger = NullLogger()
-    LOGURU_INSTALLED = False
+    logger = NullLogger()  # type: ignore
 
 
-def set_logger(is_enable):
+def set_logger(is_enable, propagation_depth=1):
     if is_enable:
-        logger.enable("MODULE_NAME")
+        logger.enable(MODULE_NAME)
     else:
-        logger.disable("MODULE_NAME")
+        logger.disable(MODULE_NAME)
 
 
 def set_log_level(log_level):
-    """
-    Set logging level of this module. The module using
-    `logbook <https://logbook.readthedocs.io/en/stable/>`__ module for logging.
-
-    :param int log_level:
-        One of the log level of the
-        `logbook <https://logbook.readthedocs.io/en/stable/api/base.html>`__.
-        Disabled logging if the ``log_level`` is ``logbook.NOTSET``.
-    :raises LookupError: If ``log_level`` is an invalid value.
-    """
-
     # deprecated
     return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/DataProperty-0.45.0/dataproperty/logger/_null_logger.py 
new/DataProperty-0.46.3/dataproperty/logger/_null_logger.py
--- old/DataProperty-0.45.0/dataproperty/logger/_null_logger.py 2020-02-05 
11:42:41.000000000 +0100
+++ new/DataProperty-0.46.3/dataproperty/logger/_null_logger.py 2020-02-14 
14:42:19.000000000 +0100
@@ -1,13 +1,10 @@
-# encoding: utf-8
-
-
 class NullLogger(object):
     level_name = None
 
-    def critical(self, *args, **kwargs):  # pragma: no cover
+    def remove(self, handler_id=None):  # pragma: no cover
         pass
 
-    def debug(self, *args, **kwargs):  # pragma: no cover
+    def add(self, **kwargs):  # pragma: no cover
         pass
 
     def disable(self, name):  # pragma: no cover
@@ -16,26 +13,29 @@
     def enable(self, name):  # pragma: no cover
         pass
 
-    def error(self, *args, **kwargs):  # pragma: no cover
+    def critical(self, __message, *args, **kwargs):  # pragma: no cover
+        pass
+
+    def debug(self, __message, *args, **kwargs):  # pragma: no cover
         pass
 
-    def exception(self, *args, **kwargs):  # pragma: no cover
+    def error(self, __message, *args, **kwargs):  # pragma: no cover
         pass
 
-    def info(self, *args, **kwargs):  # pragma: no cover
+    def exception(self, __message, *args, **kwargs):  # pragma: no cover
         pass
 
-    def log(self, level, *args, **kwargs):  # pragma: no cover
+    def info(self, __message, *args, **kwargs):  # pragma: no cover
         pass
 
-    def notice(self, *args, **kwargs):  # pragma: no cover
+    def log(self, __level, __message, *args, **kwargs):  # pragma: no cover
         pass
 
-    def success(self, *args, **kwargs):  # pragma: no cover
+    def success(self, __message, *args, **kwargs):  # pragma: no cover
         pass
 
-    def trace(self, *args, **kwargs):  # pragma: no cover
+    def trace(self, __message, *args, **kwargs):  # pragma: no cover
         pass
 
-    def warning(self, *args, **kwargs):  # pragma: no cover
+    def warning(self, __message, *args, **kwargs):  # pragma: no cover
         pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/requirements/requirements.txt 
new/DataProperty-0.46.3/requirements/requirements.txt
--- old/DataProperty-0.45.0/requirements/requirements.txt       2020-01-05 
01:50:05.000000000 +0100
+++ new/DataProperty-0.46.3/requirements/requirements.txt       2020-02-14 
14:42:19.000000000 +0100
@@ -1,6 +1,6 @@
 enum34;python_version<"3.4"
 futures;python_version<"3.2"
 ipaddress;python_version<"3.3"
-mbstrdecoder>=0.8.3,<1.0.0
-six>=1.10.0,<2.0.0
-typepy[datetime]>=0.6.4,<1.0.0
+mbstrdecoder>=0.8.3,<2
+six>=1.10.0,<2
+typepy[datetime]>=0.6.4,<2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/DataProperty-0.45.0/requirements/test_requirements.txt 
new/DataProperty-0.46.3/requirements/test_requirements.txt
--- old/DataProperty-0.45.0/requirements/test_requirements.txt  2019-10-13 
10:11:05.000000000 +0200
+++ new/DataProperty-0.46.3/requirements/test_requirements.txt  2020-02-14 
14:42:19.000000000 +0100
@@ -1 +1,2 @@
+pytest
 termcolor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/setup.cfg 
new/DataProperty-0.46.3/setup.cfg
--- old/DataProperty-0.45.0/setup.cfg   2020-02-05 17:37:42.270297300 +0100
+++ new/DataProperty-0.46.3/setup.cfg   2020-02-14 14:42:31.602936500 +0100
@@ -1,6 +1,3 @@
-[aliases]
-test = pytest
-
 [bdist_wheel]
 universal = 1
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/setup.py 
new/DataProperty-0.46.3/setup.py
--- old/DataProperty-0.45.0/setup.py    2020-02-05 11:36:20.000000000 +0100
+++ new/DataProperty-0.46.3/setup.py    2020-02-14 14:42:19.000000000 +0100
@@ -8,7 +8,6 @@
 
 import io
 import os.path
-import sys
 
 import setuptools
 
@@ -21,10 +20,6 @@
 pkg_info = {}
 
 
-def need_pytest():
-    return set(["pytest", "test", "ptr"]).intersection(sys.argv)
-
-
 def get_release_command_class():
     try:
         from releasecmd import ReleaseCommand
@@ -48,12 +43,7 @@
 
 with open(os.path.join(REQUIREMENT_DIR, "test_requirements.txt")) as f:
     tests_requires = [line.strip() for line in f if line.strip()]
-    if sys.version_info[0] == 2:
-        tests_requires.append("pytest<=2.9.2")
-    else:
-        tests_requires.append("pytest")
 
-pytest_runner_require = ["pytest-runner"] if need_pytest() else []
 setuptools_require = ["setuptools>=38.3.0"]
 
 setuptools.setup(
@@ -74,8 +64,7 @@
     project_urls={"Source": REPOSITORY_URL, "Tracker": 
"{:s}/issues".format(REPOSITORY_URL)},
     python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*",
     install_requires=setuptools_require + install_requires,
-    setup_requires=setuptools_require + pytest_runner_require,
-    tests_require=tests_requires,
+    setup_requires=setuptools_require,
     extras_require={"logging": ["loguru>=0.4.1,<1"], "test": tests_requires},
     classifiers=[
         "Development Status :: 4 - Beta",
@@ -90,6 +79,7 @@
         "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
+        "Programming Language :: Python :: 3.9",
         "Programming Language :: Python :: Implementation :: CPython",
         "Programming Language :: Python :: Implementation :: PyPy",
         "Topic :: Software Development :: Libraries",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/test/test_dataproperty.py 
new/DataProperty-0.46.3/test/test_dataproperty.py
--- old/DataProperty-0.45.0/test/test_dataproperty.py   2020-02-05 
17:06:35.000000000 +0100
+++ new/DataProperty-0.46.3/test/test_dataproperty.py   2020-02-14 
14:42:19.000000000 +0100
@@ -476,7 +476,7 @@
         )
 
     @pytest.mark.parametrize(
-        ["value", "expected"], [[0, 0], [None, None],],
+        ["value", "expected"], [[0, 0], [None, None]],
     )
     def test_abnormal(self, value, expected):
         assert (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/test/test_extractor.py 
new/DataProperty-0.46.3/test/test_extractor.py
--- old/DataProperty-0.45.0/test/test_extractor.py      2020-02-05 
17:06:35.000000000 +0100
+++ new/DataProperty-0.46.3/test/test_extractor.py      2020-02-14 
14:42:19.000000000 +0100
@@ -409,12 +409,15 @@
             assert dp.data == value, value
 
     @pytest.mark.parametrize(
-        ["value", "expected"], [[[0, None], [0, None]],],
+        ["value", "expected"], [[[0, None], [0, None]]],
     )
     def test_exception_escape_formula_injection(self, dp_extractor, value, 
expected):
         dp_extractor.preprocessor = 
Preprocessor(is_escape_formula_injection=True)
         dp_list = dp_extractor.to_dp_list(value)
 
+        for dp, value in zip(dp_list, expected):
+            assert dp.data == value, value
+
 
 class Test_DataPropertyExtractor_to_column_dp_list(object):
     TEST_DATA_MATRIX = [
@@ -747,3 +750,31 @@
 
         with pytest.raises(expected):
             dp_extractor.to_column_dp_list(dp_extractor.to_dp_matrix(value))
+
+
+class Test_DataPropertyExtractor_update_preprocessor(object):
+    def test_normal(self, dp_extractor):
+        assert dp_extractor.preprocessor.strip_str is None
+        assert dp_extractor.preprocessor.replace_tabs_with_spaces is True
+        assert dp_extractor.preprocessor.tab_length == 2
+        assert dp_extractor.preprocessor.line_break_handling is 
LineBreakHandling.NOP
+        assert dp_extractor.preprocessor.line_break_repl == " "
+        assert dp_extractor.preprocessor.is_escape_html_tag is False
+        assert dp_extractor.preprocessor.is_escape_formula_injection is False
+
+        dp_extractor.update_preprocessor(
+            strip_str='"',
+            replace_tabs_with_spaces=False,
+            tab_length=4,
+            line_break_handling=LineBreakHandling.REPLACE,
+            line_break_repl="<br>",
+            is_escape_html_tag=True,
+            is_escape_formula_injection=True,
+        )
+        assert dp_extractor.preprocessor.strip_str == '"'
+        assert dp_extractor.preprocessor.replace_tabs_with_spaces is False
+        assert dp_extractor.preprocessor.tab_length == 4
+        assert dp_extractor.preprocessor.line_break_handling is 
LineBreakHandling.REPLACE
+        assert dp_extractor.preprocessor.line_break_repl == "<br>"
+        assert dp_extractor.preprocessor.is_escape_html_tag is True
+        assert dp_extractor.preprocessor.is_escape_formula_injection is True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/test/test_logger.py 
new/DataProperty-0.46.3/test/test_logger.py
--- old/DataProperty-0.45.0/test/test_logger.py 2020-02-05 11:45:55.000000000 
+0100
+++ new/DataProperty-0.46.3/test/test_logger.py 2020-02-14 14:42:19.000000000 
+0100
@@ -9,9 +9,17 @@
 import pytest
 
 from dataproperty import set_logger
+from dataproperty.logger._null_logger import NullLogger
 
 
 class Test_set_logger(object):
     @pytest.mark.parametrize(["value"], [[True], [False]])
     def test_smoke(self, value):
         set_logger(value)
+
+
+class Test_NullLogger:
+    @pytest.mark.parametrize(["value"], [[True], [False]])
+    def test_smoke(self, value, monkeypatch):
+        monkeypatch.setattr("dataproperty.logger._logger.logger", NullLogger())
+        set_logger(value)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/test/test_preprocessor.py 
new/DataProperty-0.46.3/test/test_preprocessor.py
--- old/DataProperty-0.45.0/test/test_preprocessor.py   1970-01-01 
01:00:00.000000000 +0100
+++ new/DataProperty-0.46.3/test/test_preprocessor.py   2020-02-14 
14:42:19.000000000 +0100
@@ -0,0 +1,40 @@
+# encoding: utf-8
+
+"""
+.. codeauthor:: Tsuyoshi Hombashi <tsuyoshi.homba...@gmail.com>
+"""
+
+from __future__ import unicode_literals
+
+from dataproperty import LineBreakHandling, Preprocessor
+
+
+class Test_Preprocessor_update(object):
+    def test_normal(self):
+        preprocessor = Preprocessor()
+        assert preprocessor.strip_str is None
+        assert preprocessor.replace_tabs_with_spaces is True
+        assert preprocessor.tab_length == 2
+        assert preprocessor.line_break_handling is LineBreakHandling.NOP
+        assert preprocessor.line_break_repl == " "
+        assert preprocessor.is_escape_html_tag is False
+        assert preprocessor.is_escape_formula_injection is False
+
+        assert preprocessor.update(
+            strip_str='"',
+            replace_tabs_with_spaces=False,
+            tab_length=4,
+            line_break_handling=LineBreakHandling.REPLACE,
+            line_break_repl="<br>",
+            is_escape_html_tag=True,
+            is_escape_formula_injection=True,
+        )
+        assert preprocessor.strip_str == '"'
+        assert preprocessor.replace_tabs_with_spaces is False
+        assert preprocessor.tab_length == 4
+        assert preprocessor.line_break_handling is LineBreakHandling.REPLACE
+        assert preprocessor.line_break_repl == "<br>"
+        assert preprocessor.is_escape_html_tag is True
+        assert preprocessor.is_escape_formula_injection is True
+
+        assert not preprocessor.update(strip_str='"')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/DataProperty-0.45.0/tox.ini 
new/DataProperty-0.46.3/tox.ini
--- old/DataProperty-0.45.0/tox.ini     2020-02-05 11:55:27.000000000 +0100
+++ new/DataProperty-0.46.3/tox.ini     2020-02-14 14:42:19.000000000 +0100
@@ -1,6 +1,6 @@
 [tox]
 envlist =
-    py{27,35,36,37,38}
+    py{27,35,36,37,38,39}
     pypy3
     build
     clean
@@ -10,8 +10,10 @@
     release
 
 [testenv]
+deps =
+    .[test]
 commands =
-    python setup.py test
+    pytest {posargs}
 
 [testenv:build]
 basepython = python3.8
@@ -28,15 +30,15 @@
 deps =
     cleanpy
 commands =
-    cleanpy --include-build-cache .
+    cleanpy --all .
 
 [testenv:cov]
-basepython = python3.7
 deps =
+    .[test]
     coverage[toml]
     pytest-cov
 commands =
-    python setup.py test --addopts "-v --cov"
+    pytest --cov {posargs:-vv}
 
 [testenv:fmt]
 basepython = python3.8
@@ -50,20 +52,18 @@
     black setup.py examples test dataproperty
 
 [testenv:lint]
-basepython = python3.5
+basepython = python3.7
 deps =
     codespell
     pylama
-    #pytype
 commands =
     python setup.py check
     codespell -q2 dataproperty examples test README.rst
     pylama
-    #pytype dataproperty --keep-going --jobs 2 --disable import-error
 
 [testenv:release]
 basepython = python3.8
 deps =
     releasecmd>=0.2.0
 commands =
-    python setup.py release --sign
+    python setup.py release --sign {posargs}


Reply via email to