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}