Hello community, here is the log from the commit of package python-tldextract for openSUSE:Factory checked in at 2019-03-11 11:16:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-tldextract (Old) and /work/SRC/openSUSE:Factory/.python-tldextract.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tldextract" Mon Mar 11 11:16:15 2019 rev:4 rq:683625 version:2.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-tldextract/python-tldextract.changes 2018-12-24 11:45:20.353242199 +0100 +++ /work/SRC/openSUSE:Factory/.python-tldextract.new.28833/python-tldextract.changes 2019-03-11 11:17:28.293294949 +0100 @@ -1,0 +2,13 @@ +Sun Mar 10 19:57:13 UTC 2019 - Martin Herkt <9+suse@cirno.systems> + +- Run test suite +- Add tldextract-tests-offline.patch + No internet connection on OBS build hosts; skip suffix list + snapshot diff +- Update to 2.2.1 + * Bugfixes + - Ignore case on punycode prefix check + - Drop support for EOL Python 2.6 + - Improve sundry doc and README bits + +------------------------------------------------------------------- Old: ---- tldextract-2.2.0.tar.gz New: ---- tldextract-2.2.1.tar.gz tldextract-tests-offline.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-tldextract.spec ++++++ --- /var/tmp/diff_new_pack.vnHQll/_old 2019-03-11 11:17:33.621293032 +0100 +++ /var/tmp/diff_new_pack.vnHQll/_new 2019-03-11 11:17:33.625293030 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-tldextract # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-tldextract -Version: 2.2.0 +Version: 2.2.1 Release: 0 Summary: Python module to separate the TLD of a URL License: BSD-3-Clause @@ -26,6 +26,15 @@ Url: https://github.com/john-kurkowski/tldextract Source: https://files.pythonhosted.org/packages/source/t/tldextract/tldextract-%{version}.tar.gz Source1: %{name}-rpmlintrc +# No internet connection on OBS build hosts; skip suffix list snapshot diff +Patch: tldextract-tests-offline.patch +### BEGIN test requirements +BuildRequires: %{python_module pytest-mock} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module requests-file} >= 1.4 +BuildRequires: %{python_module requests} >= 2.1.0 +BuildRequires: %{python_module responses} +### END test requirements BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros @@ -46,6 +55,7 @@ %prep %setup -q -n tldextract-%{version} +%autopatch -p1 %build %python_build @@ -54,6 +64,10 @@ %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} +%check +%python_exec setup.py develop --user +%python_exec -m pytest -v tests + %files %{python_files} %license LICENSE %doc README.md ++++++ tldextract-2.2.0.tar.gz -> tldextract-2.2.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tldextract-2.2.0/PKG-INFO new/tldextract-2.2.1/PKG-INFO --- old/tldextract-2.2.0/PKG-INFO 2017-10-27 08:07:26.000000000 +0200 +++ new/tldextract-2.2.1/PKG-INFO 2019-03-05 19:55:34.000000000 +0100 @@ -1,12 +1,11 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: tldextract -Version: 2.2.0 +Version: 2.2.1 Summary: Accurately separate the TLD from the registered domain and subdomains of a URL, using the Public Suffix List. By default, this includes the public ICANN TLDs and their exceptions. You can optionally support the Public Suffix List's private domains as well. Home-page: https://github.com/john-kurkowski/tldextract Author: John Kurkowski Author-email: john.kurkow...@gmail.com License: BSD License -Description-Content-Type: UNKNOWN Description: `tldextract` accurately separates the gTLD or ccTLD (generic or country code top-level domain) from the registered domain and subdomains of a URL. @@ -39,9 +38,10 @@ Classifier: Topic :: Utilities Classifier: License :: OSI Approved :: BSD License Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* +Description-Content-Type: text/markdown diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tldextract-2.2.0/README.md new/tldextract-2.2.1/README.md --- old/tldextract-2.2.0/README.md 2017-08-21 00:09:29.000000000 +0200 +++ new/tldextract-2.2.1/README.md 2019-03-05 17:47:17.000000000 +0100 @@ -14,10 +14,9 @@ instead of 'bbc' and 'co.uk' respectively. `tldextract` on the other hand knows what all gTLDs and ccTLDs look like by -looking up the currently living ones according to -[the Public Suffix List](http://www.publicsuffix.org). So, -given a URL, it knows its subdomain from its domain, and its domain from its -country code. +looking up the currently living ones according to [the Public Suffix List +(PSL)](http://www.publicsuffix.org). So, given a URL, it knows its subdomain +from its domain, and its domain from its country code. ```python >>> import tldextract @@ -150,8 +149,8 @@ #### Public vs. Private Domains -[The Public Suffix List](https://publicsuffix.org/list/) maintains a concept of -"private" domains. +The PSL [maintains a concept of "private" +domains](https://publicsuffix.org/list/). > PRIVATE domains are amendments submitted by the domain holder, as an > expression of how they operate their domain security policy. … While some @@ -159,8 +158,7 @@ > entries the same, other applications may wish to treat ICANN domains and > PRIVATE domains differently. -By default, `tldextract` treats public and private domains the same. It's the -more common case when people mentally parse a URL. +By default, `tldextract` treats public and private domains the same. ```python >>> extract = tldextract.TLDExtract() @@ -168,8 +166,7 @@ ExtractResult(subdomain='waiterrant', domain='blogspot', suffix='com') ``` -But you can distinguish the Public Suffix List's private domains too, if you -want. +The following overrides this. ```python >>> extract = tldextract.TLDExtract(include_psl_private_domains=True) @@ -178,6 +175,11 @@ ExtractResult(subdomain='', domain='waiterrant', suffix='blogspot.com') ``` +The thinking behind the default is, it's the more common case when people +mentally parse a URL. It doesn't assume familiarity with the PSL nor that the +PSL makes such a distinction. Note this may run counter to the default parsing +behavior of other, PSL-based libraries. + #### Specifying your own URL or file for the Suffix List data You can specify your own input data in place of the default Mozilla Public Suffix List: @@ -213,7 +215,7 @@ (In the meantime, you can tell tldextract about your exception by either forking the PSL and using your fork in the `suffix_list_urls` param, or adding -your suffix piecemeal with the `additional_suffixes` param.) +your suffix piecemeal with the `extra_suffixes` param.) #### If I pass an invalid URL, I still get a result, no error. What gives? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tldextract-2.2.0/setup.py new/tldextract-2.2.1/setup.py --- old/tldextract-2.2.0/setup.py 2017-10-27 07:55:42.000000000 +0200 +++ new/tldextract-2.2.1/setup.py 2019-03-05 19:53:32.000000000 +0100 @@ -25,22 +25,19 @@ You can optionally support the Public Suffix List's private domains as well. """ -import re import sys from setuptools import setup -# I don't want to learn reStructuredText right now, so strip Markdown links -# that make pip barf. -LONG_DESCRIPTION_MD = __doc__ -LONG_DESCRIPTION = re.sub(r'(?s)\[(.*?)\]\((http.*?)\)', r'\1', LONG_DESCRIPTION_MD) +if sys.version_info < (2, 7): + raise RuntimeError("Python 2.6 is EOL and no longer supported. " + "Please upgrade your Python or use an older " + "version of tldextract.") INSTALL_REQUIRES = ["setuptools", "idna", "requests>=2.1.0", "requests-file>=1.4"] -if (2, 7) > sys.version_info: - INSTALL_REQUIRES.append("argparse>=1.2.1") setup( name="tldextract", - version="2.2.0", + version="2.2.1", author="John Kurkowski", author_email="john.kurkow...@gmail.com", description=("Accurately separate the TLD from the registered domain and " @@ -53,13 +50,14 @@ url="https://github.com/john-kurkowski/tldextract", packages=['tldextract'], include_package_data=True, - long_description=LONG_DESCRIPTION, + python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*', + long_description=__doc__, + long_description_content_type="text/markdown", classifiers=[ "Development Status :: 5 - Production/Stable", "Topic :: Utilities", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tldextract-2.2.0/tests/main_test.py new/tldextract-2.2.1/tests/main_test.py --- old/tldextract-2.2.0/tests/main_test.py 2017-10-25 09:35:42.000000000 +0200 +++ new/tldextract-2.2.1/tests/main_test.py 2019-03-05 18:09:22.000000000 +0100 @@ -102,6 +102,10 @@ def test_punycode(): assert_extract('http://xn--h1alffa9f.xn--p1ai', ('xn--h1alffa9f.xn--p1ai', '', 'xn--h1alffa9f', 'xn--p1ai')) + assert_extract('http://xN--h1alffa9f.xn--p1ai', + ('xN--h1alffa9f.xn--p1ai', '', 'xN--h1alffa9f', 'xn--p1ai')) + assert_extract('http://XN--h1alffa9f.xn--p1ai', + ('XN--h1alffa9f.xn--p1ai', '', 'XN--h1alffa9f', 'xn--p1ai')) # Entries that might generate UnicodeError exception # This subdomain generates UnicodeError 'IDNA does not round-trip' assert_extract('xn--tub-1m9d15sfkkhsifsbqygyujjrw602gk4li5qqk98aca0w.google.com', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tldextract-2.2.0/tldextract/remote.py new/tldextract-2.2.1/tldextract/remote.py --- old/tldextract-2.2.0/tldextract/remote.py 2017-10-27 01:16:43.000000000 +0200 +++ new/tldextract-2.2.1/tldextract/remote.py 2019-03-05 18:09:22.000000000 +0100 @@ -19,6 +19,9 @@ IP_RE = re.compile(r'^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$') # pylint: disable=line-too-long + +PUNY_RE = re.compile(r'^xn--', re.IGNORECASE) + SCHEME_RE = re.compile(r'^([' + scheme_chars + ']+:)?//') LOG = logging.getLogger('tldextract') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tldextract-2.2.0/tldextract/tldextract.py new/tldextract-2.2.1/tldextract/tldextract.py --- old/tldextract-2.2.0/tldextract/tldextract.py 2017-10-25 09:35:42.000000000 +0200 +++ new/tldextract-2.2.1/tldextract/tldextract.py 2019-03-05 18:09:22.000000000 +0100 @@ -77,8 +77,9 @@ from .remote import find_first_response from .remote import looks_like_ip -from .remote import SCHEME_RE from .remote import IP_RE +from .remote import PUNY_RE +from .remote import SCHEME_RE # pylint: disable=invalid-name,undefined-variable try: @@ -245,7 +246,7 @@ labels = netloc.split(".") def decode_punycode(label): - if label.startswith("xn--"): + if PUNY_RE.match(label): try: return idna.decode(label.encode('ascii')) except UnicodeError: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tldextract-2.2.0/tldextract.egg-info/PKG-INFO new/tldextract-2.2.1/tldextract.egg-info/PKG-INFO --- old/tldextract-2.2.0/tldextract.egg-info/PKG-INFO 2017-10-27 08:07:26.000000000 +0200 +++ new/tldextract-2.2.1/tldextract.egg-info/PKG-INFO 2019-03-05 19:55:34.000000000 +0100 @@ -1,12 +1,11 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: tldextract -Version: 2.2.0 +Version: 2.2.1 Summary: Accurately separate the TLD from the registered domain and subdomains of a URL, using the Public Suffix List. By default, this includes the public ICANN TLDs and their exceptions. You can optionally support the Public Suffix List's private domains as well. Home-page: https://github.com/john-kurkowski/tldextract Author: John Kurkowski Author-email: john.kurkow...@gmail.com License: BSD License -Description-Content-Type: UNKNOWN Description: `tldextract` accurately separates the gTLD or ccTLD (generic or country code top-level domain) from the registered domain and subdomains of a URL. @@ -39,9 +38,10 @@ Classifier: Topic :: Utilities Classifier: License :: OSI Approved :: BSD License Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* +Description-Content-Type: text/markdown diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tldextract-2.2.0/tldextract.egg-info/SOURCES.txt new/tldextract-2.2.1/tldextract.egg-info/SOURCES.txt --- old/tldextract-2.2.0/tldextract.egg-info/SOURCES.txt 2017-10-27 08:07:26.000000000 +0200 +++ new/tldextract-2.2.1/tldextract.egg-info/SOURCES.txt 2019-03-05 19:55:34.000000000 +0100 @@ -20,6 +20,5 @@ tldextract.egg-info/SOURCES.txt tldextract.egg-info/dependency_links.txt tldextract.egg-info/entry_points.txt -tldextract.egg-info/pbr.json tldextract.egg-info/requires.txt tldextract.egg-info/top_level.txt \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tldextract-2.2.0/tldextract.egg-info/pbr.json new/tldextract-2.2.1/tldextract.egg-info/pbr.json --- old/tldextract-2.2.0/tldextract.egg-info/pbr.json 2015-09-26 19:45:40.000000000 +0200 +++ new/tldextract-2.2.1/tldextract.egg-info/pbr.json 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -{"is_release": false, "git_version": "317ec7e"} \ No newline at end of file ++++++ tldextract-tests-offline.patch ++++++ diff -ru tldextract-2.2.1.orig/tests/integration_test.py tldextract-2.2.1/tests/integration_test.py --- tldextract-2.2.1.orig/tests/integration_test.py 2016-04-04 04:11:18.000000000 +0200 +++ tldextract-2.2.1/tests/integration_test.py 2019-03-10 21:25:34.201039604 +0100 @@ -8,24 +8,6 @@ import tldextract - -def test_log_snapshot_diff(mocker): - mocker.patch.object(logging.getLogger(), 'level', logging.DEBUG) - debug_mock = mocker.patch.object(logging.getLogger('tldextract'), 'debug') - - extractor = tldextract.TLDExtract() - try: - os.remove(extractor.cache_file) - except (IOError, OSError): - logging.warning(traceback.format_exc()) - - extractor('ignore.com') - - assert debug_mock.call_count == 1 - log_str = debug_mock.call_args[0][0] - assert log_str.startswith('computed TLD diff') - - def test_bad_kwargs(): with pytest.raises(ValueError): tldextract.TLDExtract(