Hello community,

here is the log from the commit of package python-tld for openSUSE:Factory 
checked in at 2019-02-01 11:44:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tld (Old)
 and      /work/SRC/openSUSE:Factory/.python-tld.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-tld"

Fri Feb  1 11:44:29 2019 rev:5 rq:668244 version:0.9.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tld/python-tld.changes    2018-12-24 
11:45:18.449243885 +0100
+++ /work/SRC/openSUSE:Factory/.python-tld.new.28833/python-tld.changes 
2019-02-01 11:44:32.448608233 +0100
@@ -1,0 +2,16 @@
+Wed Jan 23 21:26:49 UTC 2019 - Jan Engelhardt <[email protected]>
+
+- Use noun phrase.
+
+-------------------------------------------------------------------
+Tue Jan 15 20:37:18 UTC 2019 - Sebastian Wagner <[email protected]>
+
+- Update to version 0.9.2:
+ * Fix an issue causing certain punycode TLDs to be deemed invalid.
+ * Tested against Python 3.7.
+ * Added tests for commands.
+ * Dropped Python 2.6 support.
+ * TLD source updated to the latest version.
+- Update and extend remove-download-test.patch
+
+-------------------------------------------------------------------

Old:
----
  tld-0.9.1.tar.gz

New:
----
  tld-0.9.2.tar.gz

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

Other differences:
------------------
++++++ python-tld.spec ++++++
--- /var/tmp/diff_new_pack.kDMB6b/_old  2019-02-01 11:44:34.712605907 +0100
+++ /var/tmp/diff_new_pack.kDMB6b/_new  2019-02-01 11:44:34.712605907 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-tld
 #
-# 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,9 +18,9 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-tld
-Version:        0.9.1
+Version:        0.9.2
 Release:        0
-Summary:        Extract the top level domain (TLD) from the URL given
+Summary:        URL top level domain (TLD) extraction module
 License:        MPL-1.1 OR GPL-2.0-only OR LGPL-2.1-only
 Group:          Development/Languages/Python
 Url:            https://github.com/barseghyanartur/tld
@@ -39,8 +39,8 @@
 %python_subpackages
 
 %description
-Extract the top level domain (TLD) from the URL given. List of TLD names is
-taken from Mozillas public suffix list:
+This module extracts the top level domain (TLD) from the URL given.
+A list of TLD names is taken from Mozillas public suffix list:
 <https://publicsuffix.org/list/effective_tld_names.dat>
 
 %prep

++++++ remove-download-test.patch ++++++
--- /var/tmp/diff_new_pack.kDMB6b/_old  2019-02-01 11:44:34.740605879 +0100
+++ /var/tmp/diff_new_pack.kDMB6b/_new  2019-02-01 11:44:34.740605879 +0100
@@ -1,6 +1,6 @@
---- tld-0.8/src/tld/tests1.py  2018-07-07 10:19:47.235166666 +0200
-+++ tld-0.8/src/tld/tests.py   2018-07-07 10:20:05.779258621 +0200
-@@ -266,13 +266,6 @@
+--- tld-0.9.2/src/tld/tests/test_core.py       2019-01-10 22:54:41.000000000 
+0100
++++ tld-0.9.2/src/tld/tests/test_core.py       2019-01-15 21:40:19.489828184 
+0100
+@@ -296,13 +296,6 @@
          return res
  
      @log_info
@@ -14,3 +14,28 @@
      def test_2_fld_good_patterns_pass(self):
          """Test good URL patterns."""
          res = []
+--- tld-0.9.2/src/tld/tests/test_commands.py   2019-01-10 22:54:41.000000000 
+0100
++++ tld-0.9.2/src/tld/tests/test_commands1.py  2019-01-15 21:51:14.998679024 
+0100
+@@ -23,22 +23,6 @@
+     def setUp(self):
+         """Set up."""
+ 
+-    @log_info
+-    def test_1_update_tld_names_command(self):
+-        """Test updating the tld names (re-fetch mozilla source)."""
+-        res = subprocess.check_output(shlex.split('update-tld-names')).strip()
+-        self.assertEqual(res, b'True')
+-        return res
+-
+-    @log_info
+-    def test_2_update_tld_names_module(self):
+-        """Test updating the tld names (re-fetch mozilla source)."""
+-        res = subprocess.check_output(
+-            shlex.split('python src/tld/commands/update_tld_names.py')
+-        ).strip()
+-        self.assertEqual(res, b'True')
+-        return res
+-
+ 
+ if __name__ == '__main__':
+     unittest.main()

++++++ tld-0.9.1.tar.gz -> tld-0.9.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/CHANGELOG.rst new/tld-0.9.2/CHANGELOG.rst
--- old/tld-0.9.1/CHANGELOG.rst 2018-07-09 21:45:14.000000000 +0200
+++ new/tld-0.9.2/CHANGELOG.rst 2019-01-10 22:54:41.000000000 +0100
@@ -15,6 +15,15 @@
   0.3.4 to 0.4).
 - All backwards incompatible changes are mentioned in this document.
 
+0.9.2
+-----
+2019-01-10
+
+- Fix an issue causing certain punycode TLDs to be deemed invalid.
+- Tested against Python 3.7.
+- Added tests for commands.
+- Dropped Python 2.6 support.
+
 0.9.1
 -----
 2018-07-09
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/PKG-INFO new/tld-0.9.2/PKG-INFO
--- old/tld-0.9.1/PKG-INFO      2018-07-09 21:59:01.000000000 +0200
+++ new/tld-0.9.2/PKG-INFO      2019-01-10 22:57:17.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: tld
-Version: 0.9.1
+Version: 0.9.2
 Summary: Extract the top level domain (TLD) from the URL given.
 Home-page: https://github.com/barseghyanartur/tld
 Author: Artur Barseghyan
@@ -18,7 +18,7 @@
         
         Prerequisites
         =============
-        - Python 2.6, 2.7, 3.4, 3.5, 3.6 and PyPy
+        - Python 2.7, 3.4, 3.5, 3.6, 3.7 and PyPy
         
         Documentation
         =============
@@ -47,6 +47,9 @@
         
         Usage examples
         ==============
+        In addition to examples below, see the `jupyter notebook <jupyter/>`_
+        workbook file.
+        
         Get the TLD name **as string** from the URL given
         -------------------------------------------------
         .. code-block:: python
@@ -216,13 +219,13 @@
 Keywords: tld,top level domain names,python
 Platform: UNKNOWN
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
 Classifier: Environment :: Web Environment
 Classifier: Intended Audience :: Developers
 Classifier: Operating System :: OS Independent
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/README.rst new/tld-0.9.2/README.rst
--- old/tld-0.9.1/README.rst    2018-06-14 02:10:10.000000000 +0200
+++ new/tld-0.9.2/README.rst    2019-01-10 22:54:41.000000000 +0100
@@ -10,7 +10,7 @@
 
 Prerequisites
 =============
-- Python 2.6, 2.7, 3.4, 3.5, 3.6 and PyPy
+- Python 2.7, 3.4, 3.5, 3.6, 3.7 and PyPy
 
 Documentation
 =============
@@ -39,6 +39,9 @@
 
 Usage examples
 ==============
+In addition to examples below, see the `jupyter notebook <jupyter/>`_
+workbook file.
+
 Get the TLD name **as string** from the URL given
 -------------------------------------------------
 .. code-block:: python
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/docs/changelog.rst 
new/tld-0.9.2/docs/changelog.rst
--- old/tld-0.9.1/docs/changelog.rst    2018-07-09 21:58:18.000000000 +0200
+++ new/tld-0.9.2/docs/changelog.rst    2019-01-10 22:54:41.000000000 +0100
@@ -15,6 +15,15 @@
   0.3.4 to 0.4).
 - All backwards incompatible changes are mentioned in this document.
 
+0.9.2
+-----
+2019-01-10
+
+- Fix an issue causing certain punycode TLDs to be deemed invalid.
+- Tested against Python 3.7.
+- Added tests for commands.
+- Dropped Python 2.6 support.
+
 0.9.1
 -----
 2018-07-09
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/docs/index.rst new/tld-0.9.2/docs/index.rst
--- old/tld-0.9.1/docs/index.rst        2018-07-09 21:58:18.000000000 +0200
+++ new/tld-0.9.2/docs/index.rst        2019-01-10 22:54:41.000000000 +0100
@@ -10,7 +10,7 @@
 
 Prerequisites
 =============
-- Python 2.6, 2.7, 3.4, 3.5, 3.6 and PyPy
+- Python 2.7, 3.4, 3.5, 3.6, 3.7 and PyPy
 
 Documentation
 =============
@@ -39,6 +39,9 @@
 
 Usage examples
 ==============
+In addition to examples below, see the `jupyter notebook <jupyter/>`_
+workbook file.
+
 Get the TLD name **as string** from the URL given
 -------------------------------------------------
 .. code-block:: python
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/setup.py new/tld-0.9.2/setup.py
--- old/tld-0.9.1/setup.py      2018-07-09 21:45:42.000000000 +0200
+++ new/tld-0.9.2/setup.py      2019-01-10 22:54:41.000000000 +0100
@@ -6,7 +6,7 @@
 except:
     readme = ''
 
-version = '0.9.1'
+version = '0.9.2'
 
 exec_dirs = [
     'src/tld/bin/',
@@ -22,13 +22,13 @@
     long_description=readme,
     classifiers=[
         "Programming Language :: Python",
-        "Programming Language :: Python :: 2.6",
         "Programming Language :: Python :: 2.7",
         "Programming Language :: Python :: 3",
         "Programming Language :: Python :: 3.3",
         "Programming Language :: Python :: 3.4",
         "Programming Language :: Python :: 3.5",
         "Programming Language :: Python :: 3.6",
+        "Programming Language :: Python :: 3.7",
         "Environment :: Web Environment",
         "Intended Audience :: Developers",
         "Operating System :: OS Independent",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/src/tld/__init__.py 
new/tld-0.9.2/src/tld/__init__.py
--- old/tld-0.9.1/src/tld/__init__.py   2018-07-09 21:45:27.000000000 +0200
+++ new/tld-0.9.2/src/tld/__init__.py   2019-01-10 22:54:41.000000000 +0100
@@ -8,7 +8,7 @@
 )
 
 __title__ = 'tld'
-__version__ = '0.9.1'
+__version__ = '0.9.2'
 __author__ = 'Artur Barseghyan'
 __copyright__ = '2013-2018 Artur Barseghyan'
 __license__ = 'GPL 2.0/LGPL 2.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/src/tld/res/effective_tld_names.dat.txt 
new/tld-0.9.2/src/tld/res/effective_tld_names.dat.txt
--- old/tld-0.9.1/src/tld/res/effective_tld_names.dat.txt       2018-07-09 
21:38:43.000000000 +0200
+++ new/tld-0.9.2/src/tld/res/effective_tld_names.dat.txt       2019-01-10 
22:54:41.000000000 +0100
@@ -381,8 +381,13 @@
 net.bm
 org.bm
 
-// bn : https://en.wikipedia.org/wiki/.bn
-*.bn
+// bn : http://www.bnnic.bn/faqs
+bn
+com.bn
+edu.bn
+gov.bn
+net.bn
+org.bn
 
 // bo : https://nic.bo/delegacion2015.php#h-1.10
 bo
@@ -546,6 +551,7 @@
 not.br
 ntr.br
 odo.br
+ong.br
 org.br
 osasco.br
 palmas.br
@@ -1239,7 +1245,7 @@
 utazas.hu
 video.hu
 
-// id : https://register.pandi.or.id/
+// id : https://pandi.id/en/domain/registration-requirements/
 id
 ac.id
 biz.id
@@ -1250,6 +1256,7 @@
 my.id
 net.id
 or.id
+ponpes.id
 sch.id
 web.id
 
@@ -3692,8 +3699,16 @@
 seoul.kr
 ulsan.kr
 
-// kw : https://en.wikipedia.org/wiki/.kw
-*.kw
+// kw : https://www.nic.kw/policies/
+// Confirmed by registry <[email protected]>
+kw
+com.kw
+edu.kw
+emb.kw
+gov.kw
+ind.kw
+net.kw
+org.kw
 
 // ky : http://www.icta.ky/da_ky_reg_dom.php
 // Confirmed by registry <[email protected]> 2008-06-17
@@ -8329,9 +8344,6 @@
 // goo : 2014-12-18 NTT Resonant Inc.
 goo
 
-// goodhands : 2015-07-31 Allstate Fire and Casualty Insurance Company
-goodhands
-
 // goodyear : 2015-07-02 The Goodyear Tire & Rubber Company
 goodyear
 
@@ -8608,9 +8620,6 @@
 // iveco : 2015-09-03 CNH Industrial N.V.
 iveco
 
-// iwc : 2014-06-23 Richemont DNS Inc.
-iwc
-
 // jaguar : 2014-11-13 Jaguar Land Rover Ltd
 jaguar
 
@@ -8635,9 +8644,6 @@
 // jio : 2015-04-02 Reliance Industries Limited
 jio
 
-// jlc : 2014-12-04 Richemont DNS Inc.
-jlc
-
 // jll : 2015-04-02 Jones Lang LaSalle Incorporated
 jll
 
@@ -8989,9 +8995,6 @@
 // menu : 2013-09-11 Wedding TLD2, LLC
 menu
 
-// meo : 2014-11-07 MEO Servicos de Comunicacoes e Multimedia, S.A.
-meo
-
 // merckmsd : 2016-07-14 MSD Registry Holdings, Inc.
 merckmsd
 
@@ -9283,9 +9286,6 @@
 // panasonic : 2015-07-30 Panasonic Corporation
 panasonic
 
-// panerai : 2014-11-07 Richemont DNS Inc.
-panerai
-
 // paris : 2014-01-30 City of Paris
 paris
 
@@ -9634,9 +9634,6 @@
 // sap : 2014-03-27 SAP AG
 sap
 
-// sapo : 2014-11-07 MEO Servicos de Comunicacoes e Multimedia, S.A.
-sapo
-
 // sarl : 2014-07-03 Binky Moon, LLC
 sarl
 
@@ -9991,9 +9988,6 @@
 // technology : 2013-09-13 Binky Moon, LLC
 technology
 
-// telecity : 2015-02-19 TelecityGroup International Limited
-telecity
-
 // telefonica : 2014-10-16 Telefónica S.A.
 telefonica
 
@@ -10201,9 +10195,6 @@
 // vision : 2013-12-05 Binky Moon, LLC
 vision
 
-// vista : 2014-09-18 Vistaprint Limited
-vista
-
 // vistaprint : 2014-09-18 Vistaprint Limited
 vistaprint
 
@@ -10642,9 +10633,6 @@
 // xn--zfr164b : 2013-11-08 China Organizational Name Administration Center
 政务
 
-// xperia : 2015-05-14 Sony Mobile Communications AB
-xperia
-
 // xyz : 2013-12-05 XYZ.COM LLC
 xyz
 
@@ -10737,6 +10725,7 @@
 // Amazon Elastic Beanstalk : https://aws.amazon.com/elasticbeanstalk/
 // Submitted by Luke Wells <[email protected]>
 cn-north-1.eb.amazonaws.com.cn
+cn-northwest-1.eb.amazonaws.com.cn
 elasticbeanstalk.com
 ap-northeast-1.elasticbeanstalk.com
 ap-northeast-2.elasticbeanstalk.com
@@ -10823,6 +10812,10 @@
 t3l3p0rt.net
 tele.amune.org
 
+// Apigee : https://apigee.com/
+// Submitted by Apigee Security Team <[email protected]>
+apigee.io
+
 // Aptible : https://www.aptible.com/
 // Submitted by Thomas Orozco <[email protected]>
 on-aptible.com
@@ -12451,10 +12444,6 @@
 // Submitted by Stefan Neufeind <[email protected]>
 customer.speedpartner.de
 
-// Stackspace : https://www.stackspace.io/
-// Submitted by Lina He <[email protected]>
-stackspace.space
-
 // Storj Labs Inc. : https://storj.io/
 // Submitted by Philip Hutchins <[email protected]>
 storj.farm
@@ -12533,7 +12522,7 @@
 webspace.rocks
 lima.zone
 
-// TransIP : htts://www.transip.nl
+// TransIP : https://www.transip.nl
 // Submitted by Rory Breuk <[email protected]>
 *.transurl.be
 *.transurl.eu
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/src/tld/tests/base.py 
new/tld-0.9.2/src/tld/tests/base.py
--- old/tld-0.9.1/src/tld/tests/base.py 1970-01-01 01:00:00.000000000 +0100
+++ new/tld-0.9.2/src/tld/tests/base.py 2019-01-10 22:54:41.000000000 +0100
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+
+import logging
+
+__title__ = 'tld.tests.base'
+__author__ = 'Artur Barseghyan'
+__copyright__ = '2013-2018 Artur Barseghyan'
+__license__ = 'GPL 2.0/LGPL 2.1'
+__all__ = (
+    'log_info',
+)
+
+LOG_INFO = True
+TRACK_TIME = False
+
+LOGGER = logging.getLogger(__name__)
+
+
+def log_info(func):
+    """Log some useful info."""
+    if not LOG_INFO:
+        return func
+
+    def inner(self, *args, **kwargs):
+        """Inner."""
+        if TRACK_TIME:
+            import simple_timer
+            timer = simple_timer.Timer()  # Start timer
+
+        result = func(self, *args, **kwargs)
+
+        if TRACK_TIME:
+            timer.stop()  # Stop timer
+
+        LOGGER.debug('\n\n%s', func.__name__)
+        LOGGER.debug('============================')
+        if func.__doc__:
+            LOGGER.debug('""" %s """', func.__doc__.strip())
+        LOGGER.debug('----------------------------')
+        if result is not None:
+            LOGGER.debug(result)
+        if TRACK_TIME:
+            LOGGER.debug('done in %s seconds', timer.duration)
+        LOGGER.debug('\n++++++++++++++++++++++++++++')
+
+        return result
+    return inner
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/src/tld/tests/test_commands.py 
new/tld-0.9.2/src/tld/tests/test_commands.py
--- old/tld-0.9.1/src/tld/tests/test_commands.py        1970-01-01 
01:00:00.000000000 +0100
+++ new/tld-0.9.2/src/tld/tests/test_commands.py        2019-01-10 
22:54:41.000000000 +0100
@@ -0,0 +1,44 @@
+# -*- coding: utf-8 -*-
+
+import logging
+import unittest
+
+import shlex
+import subprocess
+
+from .base import log_info
+
+__title__ = 'tld.tests.test_commands'
+__author__ = 'Artur Barseghyan'
+__copyright__ = '2013-2018 Artur Barseghyan'
+__license__ = 'GPL 2.0/LGPL 2.1'
+__all__ = ('TestCommands',)
+
+LOGGER = logging.getLogger(__name__)
+
+
+class TestCommands(unittest.TestCase):
+    """Tld commands tests."""
+
+    def setUp(self):
+        """Set up."""
+
+    @log_info
+    def test_1_update_tld_names_command(self):
+        """Test updating the tld names (re-fetch mozilla source)."""
+        res = subprocess.check_output(shlex.split('update-tld-names')).strip()
+        self.assertEqual(res, b'True')
+        return res
+
+    @log_info
+    def test_2_update_tld_names_module(self):
+        """Test updating the tld names (re-fetch mozilla source)."""
+        res = subprocess.check_output(
+            shlex.split('python src/tld/commands/update_tld_names.py')
+        ).strip()
+        self.assertEqual(res, b'True')
+        return res
+
+
+if __name__ == '__main__':
+    unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/src/tld/tests/test_core.py 
new/tld-0.9.2/src/tld/tests/test_core.py
--- old/tld-0.9.1/src/tld/tests/test_core.py    1970-01-01 01:00:00.000000000 
+0100
+++ new/tld-0.9.2/src/tld/tests/test_core.py    2019-01-10 22:54:41.000000000 
+0100
@@ -0,0 +1,467 @@
+# -*- coding: utf-8 -*-
+
+import copy
+import logging
+import os
+import unittest
+
+import six
+
+from .. import defaults
+from ..conf import get_setting, set_setting
+from ..exceptions import (
+    TldBadUrl,
+    TldDomainNotFound,
+    TldImproperlyConfigured,
+    TldIOError,
+)
+from ..helpers import project_dir
+from ..utils import (
+    get_fld,
+    get_tld,
+    parse_tld,
+    update_tld_names,
+)
+
+from .base import log_info
+
+__title__ = 'tld.tests.test_core'
+__author__ = 'Artur Barseghyan'
+__copyright__ = '2013-2018 Artur Barseghyan'
+__license__ = 'GPL 2.0/LGPL 2.1'
+__all__ = ('TestCore',)
+
+LOGGER = logging.getLogger(__name__)
+
+
+class TestCore(unittest.TestCase):
+    """Core tld functionality tests."""
+
+    def setUp(self):
+        """Set up."""
+        self.good_patterns = [
+            {
+                'url': 'http://www.google.co.uk',
+                'fld': 'google.co.uk',
+                'subdomain': 'www',
+                'domain': 'google',
+                'suffix': 'co.uk',
+                'tld': 'co.uk',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': 'http://www.v2.google.co.uk',
+                'fld': 'google.co.uk',
+                'subdomain': 'www.v2',
+                'domain': 'google',
+                'suffix': 'co.uk',
+                'tld': 'co.uk',
+                'kwargs': {'fail_silently': True},
+            },
+            # No longer valid
+            # {
+            #    'url': 'http://www.me.congresodelalengua3.ar',
+            #    'tld': 'me.congresodelalengua3.ar',
+            #    'subdomain': 'www',
+            #    'domain': 'me',
+            #    'suffix': 'congresodelalengua3.ar',
+            # },
+            {
+                'url': u'http://хром.гугл.рф',
+                'fld': u'гугл.рф',
+                'subdomain': u'хром',
+                'domain': u'гугл',
+                'suffix': u'рф',
+                'tld': u'рф',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': 'http://www.google.co.uk:8001/lorem-ipsum/',
+                'fld': 'google.co.uk',
+                'subdomain': 'www',
+                'domain': 'google',
+                'suffix': 'co.uk',
+                'tld': 'co.uk',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': 'http://www.me.cloudfront.net',
+                'fld': 'me.cloudfront.net',
+                'subdomain': 'www',
+                'domain': 'me',
+                'suffix': 'cloudfront.net',
+                'tld': 'cloudfront.net',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': 'http://www.v2.forum.tech.google.co.uk:8001/'
+                       'lorem-ipsum/',
+                'fld': 'google.co.uk',
+                'subdomain': 'www.v2.forum.tech',
+                'domain': 'google',
+                'suffix': 'co.uk',
+                'tld': 'co.uk',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': 'https://pantheon.io/',
+                'fld': 'pantheon.io',
+                'subdomain': '',
+                'domain': 'pantheon',
+                'suffix': 'io',
+                'tld': 'io',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': 'v2.www.google.com',
+                'fld': 'google.com',
+                'subdomain': 'v2.www',
+                'domain': 'google',
+                'suffix': 'com',
+                'tld': 'com',
+                'kwargs': {'fail_silently': True, 'fix_protocol': True},
+            },
+            {
+                'url': '//v2.www.google.com',
+                'fld': 'google.com',
+                'subdomain': 'v2.www',
+                'domain': 'google',
+                'suffix': 'com',
+                'tld': 'com',
+                'kwargs': {'fail_silently': True, 'fix_protocol': True},
+            },
+            {
+                'url': 'http://[email protected]',
+                'fld': 'bar.com',
+                'subdomain': '',
+                'domain': 'bar',
+                'suffix': 'com',
+                'tld': 'com',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': 'http://user:[email protected]',
+                'fld': 'bar.com',
+                'subdomain': '',
+                'domain': 'bar',
+                'suffix': 'com',
+                'tld': 'com',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': 'https://faguoren.xn--fiqs8s',
+                'fld': 'faguoren.xn--fiqs8s',
+                'subdomain': '',
+                'domain': 'faguoren',
+                'suffix': 'xn--fiqs8s',
+                'tld': 'xn--fiqs8s',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': 'blogs.lemonde.paris',
+                'fld': 'lemonde.paris',
+                'subdomain': 'blogs',
+                'domain': 'lemonde',
+                'suffix': 'paris',
+                'tld': 'paris',
+                'kwargs': {'fail_silently': True, 'fix_protocol': True},
+            },
+            {
+                'url': 'axel.brighton.ac.uk',
+                'fld': 'brighton.ac.uk',
+                'subdomain': 'axel',
+                'domain': 'brighton',
+                'suffix': 'ac.uk',
+                'tld': 'ac.uk',
+                'kwargs': {'fail_silently': True, 'fix_protocol': True},
+            },
+            {
+                'url': 'm.fr.blogspot.com.au',
+                'fld': 'fr.blogspot.com.au',
+                'subdomain': 'm',
+                'domain': 'fr',
+                'suffix': 'blogspot.com.au',
+                'tld': 'blogspot.com.au',
+                'kwargs': {'fail_silently': True, 'fix_protocol': True},
+            },
+            {
+                'url': u'help.www.福岡.jp',
+                'fld': u'www.福岡.jp',
+                'subdomain': 'help',
+                'domain': 'www',
+                'suffix': u'福岡.jp',
+                'tld': u'福岡.jp',
+                'kwargs': {'fail_silently': True, 'fix_protocol': True},
+            },
+            {
+                'url': u'syria.arabic.variant.سوريا',
+                'fld': u'variant.سوريا',
+                'subdomain': 'syria.arabic',
+                'domain': 'variant',
+                'suffix': u'سوريا',
+                'tld': u'سوريا',
+                'kwargs': {'fail_silently': True, 'fix_protocol': True},
+            },
+            {
+                'url': u'http://www.help.kawasaki.jp',
+                'fld': u'www.help.kawasaki.jp',
+                'subdomain': '',
+                'domain': 'www',
+                'suffix': u'help.kawasaki.jp',
+                'tld': u'help.kawasaki.jp',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': u'http://www.city.kawasaki.jp',
+                'fld': u'city.kawasaki.jp',
+                'subdomain': 'www',
+                'domain': 'city',
+                'suffix': u'kawasaki.jp',
+                'tld': u'kawasaki.jp',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': u'http://fedoraproject.org',
+                'fld': u'fedoraproject.org',
+                'subdomain': '',
+                'domain': 'fedoraproject',
+                'suffix': u'org',
+                'tld': u'org',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': u'http://www.cloud.fedoraproject.org',
+                'fld': u'www.cloud.fedoraproject.org',
+                'subdomain': '',
+                'domain': 'www',
+                'suffix': u'cloud.fedoraproject.org',
+                'tld': u'cloud.fedoraproject.org',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': u'https://www.john.app.os.fedoraproject.org',
+                'fld': u'john.app.os.fedoraproject.org',
+                'subdomain': 'www',
+                'domain': 'john',
+                'suffix': u'app.os.fedoraproject.org',
+                'tld': u'app.os.fedoraproject.org',
+                'kwargs': {'fail_silently': True},
+            },
+            {
+                'url': 'ftp://www.xn--mxail5aa.xn--11b4c3d',
+                'fld': 'xn--mxail5aa.xn--11b4c3d',
+                'subdomain': 'www',
+                'domain': 'xn--mxail5aa',
+                'suffix': 'xn--11b4c3d',
+                'tld': 'xn--11b4c3d',
+                'kwargs': {'fail_silently': True},
+            },
+        ]
+
+        self.bad_patterns = {
+            'v2.www.google.com': {
+                'exception': TldBadUrl,
+            },
+            '/index.php?a=1&b=2': {
+                'exception': TldBadUrl,
+            },
+            'http://www.tld.doesnotexist': {
+                'exception': TldDomainNotFound,
+            },
+            'https://2001:0db8:0000:85a3:0000:0000:ac1f:8001': {
+                'exception': TldDomainNotFound,
+            },
+            'http://192.169.1.1': {
+                'exception': TldDomainNotFound,
+            },
+            'http://localhost:8080': {
+                'exception': TldDomainNotFound,
+            },
+            'https://localhost': {
+                'exception': TldDomainNotFound,
+            },
+            'https://localhost2': {
+                'exception': TldImproperlyConfigured,
+                'kwargs': {'search_public': False, 'search_private': False},
+            },
+        }
+
+    @log_info
+    def test_0_tld_names_loaded(self):
+        """Test if tld names are loaded."""
+        get_fld('http://www.google.co.uk')
+        from ..utils import tld_names
+        res = len(tld_names) > 0
+        self.assertTrue(res)
+        return res
+
+    @log_info
+    def test_1_update_tld_names(self):
+        """Test updating the tld names (re-fetch mozilla source)."""
+        res = update_tld_names(fail_silently=True)
+        self.assertTrue(res)
+        return res
+
+    @log_info
+    def test_2_fld_good_patterns_pass(self):
+        """Test good URL patterns."""
+        res = []
+        for data in self.good_patterns:
+            _res = get_fld(data['url'], **data['kwargs'])
+            self.assertEqual(_res, data['fld'])
+            res.append(_res)
+        return res
+
+    @log_info
+    def test_3_fld_bad_patterns_pass(self):
+        """Test bad URL patterns."""
+        res = []
+        for url, params in self.bad_patterns.items():
+            _res = get_fld(url, fail_silently=True)
+            self.assertEqual(_res, None)
+            res.append(_res)
+        return res
+
+    @log_info
+    def test_4_override_settings(self):
+        """Testing settings override."""
+        def override_settings():
+            """Override settings."""
+            return get_setting('DEBUG')
+
+        self.assertEqual(defaults.DEBUG, override_settings())
+
+        set_setting('DEBUG', True)
+
+        self.assertEqual(True, override_settings())
+
+        return override_settings()
+
+    @log_info
+    def test_5_tld_good_patterns_pass_parsed_object(self):
+        """Test good URL patterns."""
+        res = []
+        for data in self.good_patterns:
+            kwargs = copy.copy(data['kwargs'])
+            kwargs.update({'as_object': True})
+            _res = get_tld(data['url'], **kwargs)
+            self.assertEqual(_res.tld, data['tld'])
+            self.assertEqual(_res.subdomain, data['subdomain'])
+            self.assertEqual(_res.domain, data['domain'])
+            self.assertEqual(_res.suffix, data['suffix'])
+            self.assertEqual(_res.fld, data['fld'])
+
+            if six.PY3:
+                self.assertEqual(
+                    str(_res).encode('utf8'),
+                    data['tld'].encode('utf8')
+                )
+            else:
+                self.assertEqual(str(_res), data['tld'].encode('utf8'))
+
+            self.assertEqual(
+                _res.__dict__,
+                {
+                    'tld': _res.tld,
+                    'domain': _res.domain,
+                    'subdomain': _res.subdomain,
+                    'fld': _res.fld,
+                    'parsed_url': _res.parsed_url,
+                }
+            )
+
+            res.append(_res)
+        return res
+
+    @log_info
+    def test_6_override_full_names_path(self):
+        default = project_dir('dummy.txt')
+        override_base = '/tmp/test'
+        set_setting('NAMES_LOCAL_PATH_PARENT', override_base)
+        modified = project_dir('dummy.txt')
+        self.assertNotEqual(default, modified)
+        self.assertEqual(modified, os.path.abspath('/tmp/test/dummy.txt'))
+
+    @log_info
+    def test_7_public_private(self):
+        res = get_fld(
+            'http://silly.cc.ua',
+            fail_silently=True,
+            search_private=False
+        )
+
+        self.assertEqual(res, None)
+
+        res = get_fld(
+            'http://silly.cc.ua',
+            fail_silently=True,
+            search_private=True
+        )
+
+        self.assertEqual(res, 'silly.cc.ua')
+
+        res = get_fld(
+            'mercy.compute.amazonaws.com',
+            fail_silently=True,
+            search_private=False,
+            fix_protocol=True
+        )
+
+        self.assertEqual(res, None)
+
+        res = get_fld(
+            'http://whatever.com',
+            fail_silently=True,
+            search_public=False
+        )
+
+        self.assertEqual(res, None)
+
+    @log_info
+    def test_8_fld_bad_patterns_exceptions(self):
+        """Test exceptions."""
+        res = []
+        for url, params in self.bad_patterns.items():
+            kwargs = params['kwargs'] if 'kwargs' in params else {}
+            kwargs.update({'fail_silently': False})
+            with self.assertRaises(params['exception']):
+                _res = get_fld(url, **kwargs)
+                res.append(_res)
+        return res
+
+    @log_info
+    def test_9_tld_good_patterns_pass(self):
+        """Test `get_tld` good URL patterns."""
+        res = []
+        for data in self.good_patterns:
+            _res = get_tld(data['url'], **data['kwargs'])
+            self.assertEqual(_res, data['tld'])
+            res.append(_res)
+        return res
+
+    @log_info
+    def test_10_tld_bad_patterns_pass(self):
+        """Test `get_tld` bad URL patterns."""
+        res = []
+        for url, params in self.bad_patterns.items():
+            _res = get_tld(url, fail_silently=True)
+            self.assertEqual(_res, None)
+            res.append(_res)
+        return res
+
+    @log_info
+    def test_11_parse_tld_good_patterns(self):
+        """Test `parse_tld` good URL patterns."""
+        res = []
+        for data in self.good_patterns:
+            _res = parse_tld(data['url'], **data['kwargs'])
+            self.assertEqual(
+                _res,
+                (data['tld'], data['domain'], data['subdomain'])
+            )
+            res.append(_res)
+        return res
+
+
+if __name__ == '__main__':
+    unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/src/tld/tests.py 
new/tld-0.9.2/src/tld/tests.py
--- old/tld-0.9.1/src/tld/tests.py      2018-07-09 21:05:52.000000000 +0200
+++ new/tld-0.9.2/src/tld/tests.py      1970-01-01 01:00:00.000000000 +0100
@@ -1,467 +0,0 @@
-# -*- coding: utf-8 -*-
-
-import copy
-import logging
-import os
-import unittest
-
-from . import defaults
-from .conf import get_setting, set_setting
-from .exceptions import (
-    TldBadUrl,
-    TldDomainNotFound,
-    TldImproperlyConfigured,
-    TldIOError,
-)
-from .helpers import project_dir
-from .utils import (
-    get_fld,
-    get_tld,
-    parse_tld,
-    update_tld_names,
-)
-
-__title__ = 'tld.tests'
-__author__ = 'Artur Barseghyan'
-__copyright__ = '2013-2018 Artur Barseghyan'
-__license__ = 'GPL 2.0/LGPL 2.1'
-__all__ = ('TldTest',)
-
-LOG_INFO = True
-TRACK_TIME = False
-LOGGER = logging.getLogger(__name__)
-
-
-def log_info(func):
-    """Log some useful info."""
-    if not LOG_INFO:
-        return func
-
-    def inner(self, *args, **kwargs):
-        """Inner."""
-        if TRACK_TIME:
-            import simple_timer
-            timer = simple_timer.Timer()  # Start timer
-
-        result = func(self, *args, **kwargs)
-
-        if TRACK_TIME:
-            timer.stop()  # Stop timer
-
-        LOGGER.debug('\n\n%s', func.__name__)
-        LOGGER.debug('============================')
-        if func.__doc__:
-            LOGGER.debug('""" %s """', func.__doc__.strip())
-        LOGGER.debug('----------------------------')
-        if result is not None:
-            LOGGER.debug(result)
-        if TRACK_TIME:
-            LOGGER.debug('done in %s seconds', timer.duration)
-        LOGGER.debug('\n++++++++++++++++++++++++++++')
-
-        return result
-    return inner
-
-
-class TldTest(unittest.TestCase):
-    """Tld tests."""
-
-    def setUp(self):
-        """Set up."""
-        self.good_patterns = [
-            {
-                'url': 'http://www.google.co.uk',
-                'fld': 'google.co.uk',
-                'subdomain': 'www',
-                'domain': 'google',
-                'suffix': 'co.uk',
-                'tld': 'co.uk',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': 'http://www.v2.google.co.uk',
-                'fld': 'google.co.uk',
-                'subdomain': 'www.v2',
-                'domain': 'google',
-                'suffix': 'co.uk',
-                'tld': 'co.uk',
-                'kwargs': {'fail_silently': True},
-            },
-            # No longer valid
-            # {
-            #    'url': 'http://www.me.congresodelalengua3.ar',
-            #    'tld': 'me.congresodelalengua3.ar',
-            #    'subdomain': 'www',
-            #    'domain': 'me',
-            #    'suffix': 'congresodelalengua3.ar',
-            # },
-            {
-                'url': u'http://хром.гугл.рф',
-                'fld': u'гугл.рф',
-                'subdomain': u'хром',
-                'domain': u'гугл',
-                'suffix': u'рф',
-                'tld': u'рф',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': 'http://www.google.co.uk:8001/lorem-ipsum/',
-                'fld': 'google.co.uk',
-                'subdomain': 'www',
-                'domain': 'google',
-                'suffix': 'co.uk',
-                'tld': 'co.uk',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': 'http://www.me.cloudfront.net',
-                'fld': 'me.cloudfront.net',
-                'subdomain': 'www',
-                'domain': 'me',
-                'suffix': 'cloudfront.net',
-                'tld': 'cloudfront.net',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': 'http://www.v2.forum.tech.google.co.uk:8001/'
-                       'lorem-ipsum/',
-                'fld': 'google.co.uk',
-                'subdomain': 'www.v2.forum.tech',
-                'domain': 'google',
-                'suffix': 'co.uk',
-                'tld': 'co.uk',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': 'https://pantheon.io/',
-                'fld': 'pantheon.io',
-                'subdomain': '',
-                'domain': 'pantheon',
-                'suffix': 'io',
-                'tld': 'io',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': 'v2.www.google.com',
-                'fld': 'google.com',
-                'subdomain': 'v2.www',
-                'domain': 'google',
-                'suffix': 'com',
-                'tld': 'com',
-                'kwargs': {'fail_silently': True, 'fix_protocol': True},
-            },
-            {
-                'url': '//v2.www.google.com',
-                'fld': 'google.com',
-                'subdomain': 'v2.www',
-                'domain': 'google',
-                'suffix': 'com',
-                'tld': 'com',
-                'kwargs': {'fail_silently': True, 'fix_protocol': True},
-            },
-            {
-                'url': 'http://[email protected]',
-                'fld': 'bar.com',
-                'subdomain': '',
-                'domain': 'bar',
-                'suffix': 'com',
-                'tld': 'com',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': 'http://user:[email protected]',
-                'fld': 'bar.com',
-                'subdomain': '',
-                'domain': 'bar',
-                'suffix': 'com',
-                'tld': 'com',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': 'https://faguoren.xn--fiqs8s',
-                'fld': 'faguoren.xn--fiqs8s',
-                'subdomain': '',
-                'domain': 'faguoren',
-                'suffix': 'xn--fiqs8s',
-                'tld': 'xn--fiqs8s',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': 'blogs.lemonde.paris',
-                'fld': 'lemonde.paris',
-                'subdomain': 'blogs',
-                'domain': 'lemonde',
-                'suffix': 'paris',
-                'tld': 'paris',
-                'kwargs': {'fail_silently': True, 'fix_protocol': True},
-            },
-            {
-                'url': 'axel.brighton.ac.uk',
-                'fld': 'brighton.ac.uk',
-                'subdomain': 'axel',
-                'domain': 'brighton',
-                'suffix': 'ac.uk',
-                'tld': 'ac.uk',
-                'kwargs': {'fail_silently': True, 'fix_protocol': True},
-            },
-            {
-                'url': 'm.fr.blogspot.com.au',
-                'fld': 'fr.blogspot.com.au',
-                'subdomain': 'm',
-                'domain': 'fr',
-                'suffix': 'blogspot.com.au',
-                'tld': 'blogspot.com.au',
-                'kwargs': {'fail_silently': True, 'fix_protocol': True},
-            },
-            {
-                'url': u'help.www.福岡.jp',
-                'fld': u'www.福岡.jp',
-                'subdomain': 'help',
-                'domain': 'www',
-                'suffix': u'福岡.jp',
-                'tld': u'福岡.jp',
-                'kwargs': {'fail_silently': True, 'fix_protocol': True},
-            },
-            {
-                'url': u'syria.arabic.variant.سوريا',
-                'fld': u'variant.سوريا',
-                'subdomain': 'syria.arabic',
-                'domain': 'variant',
-                'suffix': u'سوريا',
-                'tld': u'سوريا',
-                'kwargs': {'fail_silently': True, 'fix_protocol': True},
-            },
-            {
-                'url': u'http://www.help.kawasaki.jp',
-                'fld': u'www.help.kawasaki.jp',
-                'subdomain': '',
-                'domain': 'www',
-                'suffix': u'help.kawasaki.jp',
-                'tld': u'help.kawasaki.jp',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': u'http://www.city.kawasaki.jp',
-                'fld': u'city.kawasaki.jp',
-                'subdomain': 'www',
-                'domain': 'city',
-                'suffix': u'kawasaki.jp',
-                'tld': u'kawasaki.jp',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': u'http://fedoraproject.org',
-                'fld': u'fedoraproject.org',
-                'subdomain': '',
-                'domain': 'fedoraproject',
-                'suffix': u'org',
-                'tld': u'org',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': u'http://www.cloud.fedoraproject.org',
-                'fld': u'www.cloud.fedoraproject.org',
-                'subdomain': '',
-                'domain': 'www',
-                'suffix': u'cloud.fedoraproject.org',
-                'tld': u'cloud.fedoraproject.org',
-                'kwargs': {'fail_silently': True},
-            },
-            {
-                'url': u'https://www.john.app.os.fedoraproject.org',
-                'fld': u'john.app.os.fedoraproject.org',
-                'subdomain': 'www',
-                'domain': 'john',
-                'suffix': u'app.os.fedoraproject.org',
-                'tld': u'app.os.fedoraproject.org',
-                'kwargs': {'fail_silently': True},
-            },
-        ]
-
-        self.bad_patterns = {
-            'v2.www.google.com': {
-                'exception': TldBadUrl,
-            },
-            '/index.php?a=1&b=2': {
-                'exception': TldBadUrl,
-            },
-            'http://www.tld.doesnotexist': {
-                'exception': TldDomainNotFound,
-            },
-            'https://2001:0db8:0000:85a3:0000:0000:ac1f:8001': {
-                'exception': TldDomainNotFound,
-            },
-            'http://192.169.1.1': {
-                'exception': TldDomainNotFound,
-            },
-            'http://localhost:8080': {
-                'exception': TldDomainNotFound,
-            },
-            'https://localhost': {
-                'exception': TldDomainNotFound,
-            },
-            'https://localhost2': {
-                'exception': TldImproperlyConfigured,
-                'kwargs': {'search_public': False, 'search_private': False},
-            },
-        }
-
-    @log_info
-    def test_0_tld_names_loaded(self):
-        """Test if tld names are loaded."""
-        get_fld('http://www.google.co.uk')
-        from .utils import tld_names
-        res = len(tld_names) > 0
-        self.assertTrue(res)
-        return res
-
-    @log_info
-    def test_1_update_tld_names(self):
-        """Test updating the tld names (re-fetch mozilla source)."""
-        res = update_tld_names(fail_silently=True)
-        self.assertTrue(res)
-        return res
-
-    @log_info
-    def test_2_fld_good_patterns_pass(self):
-        """Test good URL patterns."""
-        res = []
-        for data in self.good_patterns:
-            _res = get_fld(data['url'], **data['kwargs'])
-            self.assertEqual(_res, data['fld'])
-            res.append(_res)
-        return res
-
-    @log_info
-    def test_3_fld_bad_patterns_pass(self):
-        """Test bad URL patterns."""
-        res = []
-        for url, params in self.bad_patterns.items():
-            _res = get_fld(url, fail_silently=True)
-            self.assertEqual(_res, None)
-            res.append(_res)
-        return res
-
-    @log_info
-    def test_4_override_settings(self):
-        """Testing settings override."""
-        def override_settings():
-            """Override settings."""
-            return get_setting('DEBUG')
-
-        self.assertEqual(defaults.DEBUG, override_settings())
-
-        set_setting('DEBUG', True)
-
-        self.assertEqual(True, override_settings())
-
-        return override_settings()
-
-    @log_info
-    def test_5_tld_good_patterns_pass_parsed_object(self):
-        """Test good URL patterns."""
-        res = []
-        for data in self.good_patterns:
-            kwargs = copy.copy(data['kwargs'])
-            kwargs.update({'as_object': True})
-            _res = get_tld(data['url'], **kwargs)
-            self.assertEqual(_res.tld, data['tld'])
-            self.assertEqual(_res.subdomain, data['subdomain'])
-            self.assertEqual(_res.domain, data['domain'])
-            self.assertEqual(_res.suffix, data['suffix'])
-            self.assertEqual(_res.fld, data['fld'])
-            res.append(_res)
-        return res
-
-    @log_info
-    def test_6_override_full_names_path(self):
-        default = project_dir('dummy.txt')
-        override_base = '/tmp/test'
-        set_setting('NAMES_LOCAL_PATH_PARENT', override_base)
-        modified = project_dir('dummy.txt')
-        self.assertNotEqual(default, modified)
-        self.assertEqual(modified, os.path.abspath('/tmp/test/dummy.txt'))
-
-    @log_info
-    def test_7_public_private(self):
-        res = get_fld(
-            'http://silly.cc.ua',
-            fail_silently=True,
-            search_private=False
-        )
-
-        self.assertEqual(res, None)
-
-        res = get_fld(
-            'http://silly.cc.ua',
-            fail_silently=True,
-            search_private=True
-        )
-
-        self.assertEqual(res, 'silly.cc.ua')
-
-        res = get_fld(
-            'mercy.compute.amazonaws.com',
-            fail_silently=True,
-            search_private=False,
-            fix_protocol=True
-        )
-
-        self.assertEqual(res, None)
-
-        res = get_fld(
-            'http://whatever.com',
-            fail_silently=True,
-            search_public=False
-        )
-
-        self.assertEqual(res, None)
-
-    @log_info
-    def test_8_fld_bad_patterns_exceptions(self):
-        """Test exceptions."""
-        res = []
-        for url, params in self.bad_patterns.items():
-            kwargs = params['kwargs'] if 'kwargs' in params else {}
-            kwargs.update({'fail_silently': False})
-            with self.assertRaises(params['exception']):
-                _res = get_fld(url, **kwargs)
-                res.append(_res)
-        return res
-
-    @log_info
-    def test_9_tld_good_patterns_pass(self):
-        """Test `get_tld` good URL patterns."""
-        res = []
-        for data in self.good_patterns:
-            _res = get_tld(data['url'], **data['kwargs'])
-            self.assertEqual(_res, data['tld'])
-            res.append(_res)
-        return res
-
-    @log_info
-    def test_10_tld_bad_patterns_pass(self):
-        """Test `get_tld` bad URL patterns."""
-        res = []
-        for url, params in self.bad_patterns.items():
-            _res = get_tld(url, fail_silently=True)
-            self.assertEqual(_res, None)
-            res.append(_res)
-        return res
-
-    @log_info
-    def test_11_parse_tld_good_patterns(self):
-        """Test `parse_tld` good URL patterns."""
-        res = []
-        for data in self.good_patterns:
-            _res = parse_tld(data['url'], **data['kwargs'])
-            self.assertEqual(
-                _res,
-                (data['tld'], data['domain'], data['subdomain'])
-            )
-            res.append(_res)
-        return res
-
-
-if __name__ == '__main__':
-    unittest.main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/src/tld/utils.py 
new/tld-0.9.2/src/tld/utils.py
--- old/tld-0.9.1/src/tld/utils.py      2018-07-09 21:05:52.000000000 +0200
+++ new/tld-0.9.2/src/tld/utils.py      2019-01-10 22:54:41.000000000 +0100
@@ -214,7 +214,7 @@
 
             # Puny code tlds
             if '// xn--' in line:
-                line = line.split(' (', 1)[0][3:]
+                line = line.split()[1]
 
             if line[0] == '/' or line[0] == '\n':
                 continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/src/tld.egg-info/PKG-INFO 
new/tld-0.9.2/src/tld.egg-info/PKG-INFO
--- old/tld-0.9.1/src/tld.egg-info/PKG-INFO     2018-07-09 21:59:01.000000000 
+0200
+++ new/tld-0.9.2/src/tld.egg-info/PKG-INFO     2019-01-10 22:57:17.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: tld
-Version: 0.9.1
+Version: 0.9.2
 Summary: Extract the top level domain (TLD) from the URL given.
 Home-page: https://github.com/barseghyanartur/tld
 Author: Artur Barseghyan
@@ -18,7 +18,7 @@
         
         Prerequisites
         =============
-        - Python 2.6, 2.7, 3.4, 3.5, 3.6 and PyPy
+        - Python 2.7, 3.4, 3.5, 3.6, 3.7 and PyPy
         
         Documentation
         =============
@@ -47,6 +47,9 @@
         
         Usage examples
         ==============
+        In addition to examples below, see the `jupyter notebook <jupyter/>`_
+        workbook file.
+        
         Get the TLD name **as string** from the URL given
         -------------------------------------------------
         .. code-block:: python
@@ -216,13 +219,13 @@
 Keywords: tld,top level domain names,python
 Platform: UNKNOWN
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
 Classifier: Environment :: Web Environment
 Classifier: Intended Audience :: Developers
 Classifier: Operating System :: OS Independent
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tld-0.9.1/src/tld.egg-info/SOURCES.txt 
new/tld-0.9.2/src/tld.egg-info/SOURCES.txt
--- old/tld-0.9.1/src/tld.egg-info/SOURCES.txt  2018-07-09 21:59:01.000000000 
+0200
+++ new/tld-0.9.2/src/tld.egg-info/SOURCES.txt  2019-01-10 22:57:17.000000000 
+0100
@@ -23,7 +23,6 @@
 src/tld/defaults.py
 src/tld/exceptions.py
 src/tld/helpers.py
-src/tld/tests.py
 src/tld/utils.py
 src/tld.egg-info/PKG-INFO
 src/tld.egg-info/SOURCES.txt
@@ -38,4 +37,8 @@
 src/tld/res/old/effective_tld_names-2015-07-19.dat.txt
 src/tld/res/old/effective_tld_names-2015-11-22.dat.txt
 src/tld/sources/__init__.py
-src/tld/sources/mozilla.py
\ No newline at end of file
+src/tld/sources/mozilla.py
+src/tld/tests/__init__.py
+src/tld/tests/base.py
+src/tld/tests/test_commands.py
+src/tld/tests/test_core.py
\ No newline at end of file


Reply via email to