Hello community,

here is the log from the commit of package python-yarl for openSUSE:Factory 
checked in at 2018-01-07 17:22:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-yarl (Old)
 and      /work/SRC/openSUSE:Factory/.python-yarl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-yarl"

Sun Jan  7 17:22:56 2018 rev:6 rq:562155 version:0.17.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-yarl/python-yarl.changes  2017-12-14 
10:56:54.573276442 +0100
+++ /work/SRC/openSUSE:Factory/.python-yarl.new/python-yarl.changes     
2018-01-07 17:23:00.940656215 +0100
@@ -1,0 +2,13 @@
+Thu Jan  4 17:17:54 UTC 2018 - a...@gmx.de
+
+- specfile:
+  * update copyright year
+  * require python-idna
+
+- update to version 0.17.0:
+  * Add idna requirement
+  * update to idna 2008 and test
+  * Update mypy from 0.550 to 0.560
+  * Better fix for #141
+
+-------------------------------------------------------------------

Old:
----
  yarl-0.16.0.tar.gz

New:
----
  yarl-0.17.0.tar.gz

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

Other differences:
------------------
++++++ python-yarl.spec ++++++
--- /var/tmp/diff_new_pack.8gtcxB/_old  2018-01-07 17:23:01.500629967 +0100
+++ /var/tmp/diff_new_pack.8gtcxB/_new  2018-01-07 17:23:01.504629780 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-yarl
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 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
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-yarl
-Version:        0.16.0
+Version:        0.17.0
 Release:        0
 Summary:        Yet another URL library
 License:        Apache-2.0
@@ -28,12 +28,14 @@
 Source:         
https://files.pythonhosted.org/packages/source/y/yarl/yarl-%{version}.tar.gz
 BuildRequires:  %{python_module Cython}
 BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module idna >= 2.0}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  python-rpm-macros
 # test requirements
 BuildRequires:  %{python_module pytest-runner}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  python3-multidict >= 2.0
+Requires:       python-idna >= 2.0
 %ifpython3
 Requires:       python3-multidict >= 2.0
 %endif

++++++ yarl-0.16.0.tar.gz -> yarl-0.17.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yarl-0.16.0/PKG-INFO new/yarl-0.17.0/PKG-INFO
--- old/yarl-0.16.0/PKG-INFO    2017-12-07 21:12:47.000000000 +0100
+++ new/yarl-0.17.0/PKG-INFO    2017-12-30 15:09:53.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: yarl
-Version: 0.16.0
+Version: 0.17.0
 Summary: Yet another URL library
 Home-page: https://github.com/aio-libs/yarl/
 Author: Andrew Svetlov
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yarl-0.16.0/setup.py new/yarl-0.17.0/setup.py
--- old/yarl-0.16.0/setup.py    2017-12-07 21:09:21.000000000 +0100
+++ new/yarl-0.17.0/setup.py    2017-12-30 15:06:32.000000000 +0100
@@ -56,7 +56,7 @@
     except IndexError:
         raise RuntimeError('Unable to determine version.')
 
-install_requires = ['multidict>=2.0']
+install_requires = ['multidict>=2.0', 'idna>=2.0']
 
 needs_pytest = {'pytest', 'test', 'ptr'}.intersection(sys.argv)
 if needs_pytest:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yarl-0.16.0/tests/test_url.py 
new/yarl-0.17.0/tests/test_url.py
--- old/yarl-0.16.0/tests/test_url.py   2017-12-07 21:09:21.000000000 +0100
+++ new/yarl-0.17.0/tests/test_url.py   2017-12-30 15:06:32.000000000 +0100
@@ -122,6 +122,11 @@
     assert "историк.рф" == url.host
 
 
+def test_localhost():
+    url = URL('http://[::1]')
+    assert "::1" == url.host
+
+
 def test_raw_host_when_port_is_specified():
     url = URL('http://example.com:8888')
     assert "example.com" == url.raw_host
@@ -719,11 +724,15 @@
 def test_from_idna():
     url = URL('http://xn--jxagkqfkduily1i.eu')
     assert "http://xn--jxagkqfkduily1i.eu"; == str(url)
+    url = URL('http://xn--einla-pqa.de/')  # needs idna 2008
+    assert "http://xn--einla-pqa.de/"; == str(url)
 
 
 def test_to_idna():
     url = URL('http://εμπορικόσήμα.eu')
     assert "http://xn--jxagkqfkduily1i.eu"; == str(url)
+    url = URL('http://einlaß.de/')
+    assert "http://xn--einla-pqa.de/"; == str(url)
 
 
 def test_from_ascii_login():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yarl-0.16.0/yarl/__init__.py 
new/yarl-0.17.0/yarl/__init__.py
--- old/yarl-0.16.0/yarl/__init__.py    2017-12-07 21:09:21.000000000 +0100
+++ new/yarl-0.17.0/yarl/__init__.py    2017-12-30 15:06:32.000000000 +0100
@@ -7,11 +7,12 @@
                           urljoin, urlsplit, urlunsplit)
 
 from multidict import MultiDict, MultiDictProxy
+import idna
 
 
 from .quoting import quote, unquote
 
-__version__ = '0.16.0'
+__version__ = '0.17.0'
 
 __all__ = ('URL',)
 
@@ -163,7 +164,7 @@
                 try:
                     netloc.encode('ascii')
                 except UnicodeEncodeError:
-                    netloc = netloc.encode('idna').decode('ascii')
+                    netloc = idna.encode(netloc, uts46=True).decode('ascii')
                 else:
                     try:
                         ip = ip_address(netloc)
@@ -434,7 +435,10 @@
         raw = self.raw_host
         if raw is None:
             return None
-        return raw.encode('ascii').decode('idna')
+        try:
+            return idna.decode(raw.encode('ascii'))
+        except idna.core.InvalidCodepoint:  # e.g. '::1'
+            return raw
 
     @property
     def port(self):
@@ -689,7 +693,7 @@
         try:
             ip = ip_address(host)
         except ValueError:
-            host = host.encode('idna').decode('ascii')
+            host = idna.encode(host, uts46=True).decode('ascii')
         else:
             if ip.version == 6:
                 host = '[' + host + ']'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yarl-0.16.0/yarl/__init__.pyi 
new/yarl-0.17.0/yarl/__init__.pyi
--- old/yarl-0.16.0/yarl/__init__.pyi   2017-12-07 21:09:21.000000000 +0100
+++ new/yarl-0.17.0/yarl/__init__.pyi   2017-12-30 15:06:32.000000000 +0100
@@ -3,37 +3,37 @@
 
 
 class URL:
-    scheme = ...  # type: str
-    raw_user = ...  # type: str
-    user = ...  # type: Optional[str]
-    raw_password = ...  # type: Optional[str]
-    password = ...  # type: Optional[str]
-    raw_host = ...  # type: Optional[str]
-    host = ...  # type: Optional[str]
-    port = ...  # type: Optional[int]
-    raw_path = ...  # type: str
-    path = ...  # type: str
-    raw_query_string = ...  # type: str
-    query_string = ...  # type: str
-    path_qs = ...  # type: str
-    raw_path_qs = ...  # type: str
-    raw_fragment = ...  # type: str
-    fragment = ...  # type: str
-    query = ...  # type: multidict.MultiDict
-    raw_name = ...  # type: str
-    name = ...  # type: str
-    raw_parts = ...  # type: Tuple[str, ...]
-    parts = ...  # type: Tuple[str, ...]
-    parent = ...  # type: URL
+    scheme: str = ...
+    raw_user: str = ...
+    user: Optional[str] = ...
+    raw_password: Optional[str] = ...
+    password: Optional[str] = ...
+    raw_host: Optional[str] = ...
+    host: Optional[str] = ...
+    port: Optional[int] = ...
+    raw_path: str = ...
+    path: str = ...
+    raw_query_string: str = ...
+    query_string: str = ...
+    path_qs: str = ...
+    raw_path_qs: str = ...
+    raw_fragment: str = ...
+    fragment: str = ...
+    query: multidict.MultiDict = ...
+    raw_name: str = ...
+    name: str = ...
+    raw_parts: Tuple[str, ...] = ...
+    parts: Tuple[str, ...] = ...
+    parent: URL = ...
 
-    def __init__(self, val: Union[str, 'URL']=..., *, encoded: bool=...,
-                strict: bool=...) -> None: ...
+    def __init__(self, val: Union[str, 'URL']=..., *,
+                encoded: bool=...) -> None: ...
 
     @classmethod
     def build(cls, *, scheme: str=..., user: str=..., password: str=...,
-              host: str=..., port: int=..., path: str=...,
-              query: Mapping=..., query_string: str=...,
-              fragment: str=..., strict: bool=...) -> URL: ...
+             host: str=..., port: int=..., path: str=...,
+             query: Mapping=..., query_string: str=...,
+             fragment: str=..., strict: bool=...) -> URL: ...
 
     def __str__(self) -> str: ...
     def __repr__(self) -> str: ...
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yarl-0.16.0/yarl.egg-info/PKG-INFO 
new/yarl-0.17.0/yarl.egg-info/PKG-INFO
--- old/yarl-0.16.0/yarl.egg-info/PKG-INFO      2017-12-07 21:12:47.000000000 
+0100
+++ new/yarl-0.17.0/yarl.egg-info/PKG-INFO      2017-12-30 15:09:53.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: yarl
-Version: 0.16.0
+Version: 0.17.0
 Summary: Yet another URL library
 Home-page: https://github.com/aio-libs/yarl/
 Author: Andrew Svetlov
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yarl-0.16.0/yarl.egg-info/requires.txt 
new/yarl-0.17.0/yarl.egg-info/requires.txt
--- old/yarl-0.16.0/yarl.egg-info/requires.txt  2017-12-07 21:12:47.000000000 
+0100
+++ new/yarl-0.17.0/yarl.egg-info/requires.txt  2017-12-30 15:09:53.000000000 
+0100
@@ -1 +1,2 @@
 multidict>=2.0
+idna>=2.0


Reply via email to