Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-ipy for openSUSE:Factory 
checked in at 2021-01-29 14:57:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ipy (Old)
 and      /work/SRC/openSUSE:Factory/.python-ipy.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-ipy"

Fri Jan 29 14:57:11 2021 rev:10 rq:867592 version:1.01

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ipy/python-ipy.changes    2019-05-25 
13:17:42.760392831 +0200
+++ /work/SRC/openSUSE:Factory/.python-ipy.new.28504/python-ipy.changes 
2021-01-29 14:57:28.441542667 +0100
@@ -1,0 +2,6 @@
+Thu Jan 28 22:53:39 UTC 2021 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 1.01:
+  * Update to support up to Python 3.9 
+
+-------------------------------------------------------------------

Old:
----
  IPy-1.00.tar.gz

New:
----
  IPy-1.01.tar.gz

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

Other differences:
------------------
++++++ python-ipy.spec ++++++
--- /var/tmp/diff_new_pack.ErKNND/_old  2021-01-29 14:57:29.521544256 +0100
+++ /var/tmp/diff_new_pack.ErKNND/_new  2021-01-29 14:57:29.525544262 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-ipy
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,12 +18,12 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-ipy
-Version:        1.00
+Version:        1.01
 Release:        0
 Summary:        Class and tools for handling of IPv4 and IPv6 addresses and 
networks
 License:        BSD-3-Clause
 Group:          Development/Languages/Python
-Url:            https://github.com/autocracy/python-ipy
+URL:            https://github.com/autocracy/python-ipy
 Source:         
https://files.pythonhosted.org/packages/source/I/IPy/IPy-%{version}.tar.gz
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes

++++++ IPy-1.00.tar.gz -> IPy-1.01.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPy-1.00/ChangeLog new/IPy-1.01/ChangeLog
--- old/IPy-1.00/ChangeLog      2019-02-28 00:46:40.000000000 +0100
+++ new/IPy-1.01/ChangeLog      2020-12-01 21:11:08.000000000 +0100
@@ -1,4 +1,9 @@
+Version 1.01 (2020-12-01)
+------------
+ * Update to support up to Python 3.9
+
 Version 1.00 (2019-02-27)
+------------
  * Fix IPv6 string interpretation for small ints
  * Various Python3 language fixes
  * consider 127.0 range LOOPBACK not PRIVATE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPy-1.00/IPy.py new/IPy-1.01/IPy.py
--- old/IPy-1.00/IPy.py 2019-02-28 01:00:55.000000000 +0100
+++ new/IPy-1.01/IPy.py 2020-12-01 21:12:23.000000000 +0100
@@ -6,12 +6,14 @@
 https://github.com/haypo/python-ipy
 """
 
-__version__ = '1.00'
+__version__ = '1.01'
 
 import bisect
-import collections
-import sys
 import types
+try:
+    import collections.abc as collections_abc
+except ImportError:
+    import collections as collections_abc
 
 # Definition of the Ranges for IPv4 IPs
 # this should include www.iana.org/assignments/ipv4-address-space
@@ -121,13 +123,14 @@
 IPV6_TEST_MAP    = 0xffffffffffffffffffffffff00000000
 IPV6_MAP_MASK    = 0x00000000000000000000ffff00000000
 
-if sys.version_info >= (3,):
+try:
+    INT_TYPES = (int, long)
+    STR_TYPES = (str, unicode)
+    xrange
+except NameError:
     INT_TYPES = (int,)
     STR_TYPES = (str,)
     xrange = range
-else:
-    INT_TYPES = (int, long)
-    STR_TYPES = (str, unicode)
 
 
 class IPint(object):
@@ -1022,10 +1025,10 @@
         raise ValueError("%s cannot be converted to an IPv4 address."
                          % repr(self))
 
-class IPSet(collections.MutableSet):
+class IPSet(collections_abc.MutableSet):
     def __init__(self, iterable=[]):
         # Make sure it's iterable, otherwise wrap
-        if not isinstance(iterable, collections.Iterable):
+        if not isinstance(iterable, collections_abc.Iterable):
             raise TypeError("'%s' object is not iterable" % 
type(iterable).__name__)
         
         # Make sure we only accept IP objects
@@ -1099,7 +1102,7 @@
 
     def add(self, value):
         # Make sure it's iterable, otherwise wrap
-        if not isinstance(value, collections.Iterable):
+        if not isinstance(value, collections_abc.Iterable):
             value = [value]
         
         # Check type
@@ -1113,7 +1116,7 @@
     
     def discard(self, value):
         # Make sure it's iterable, otherwise wrap
-        if not isinstance(value, collections.Iterable):
+        if not isinstance(value, collections_abc.Iterable):
             value = [value]
             
         # This is much faster than iterating over the addresses
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPy-1.00/PKG-INFO new/IPy-1.01/PKG-INFO
--- old/IPy-1.00/PKG-INFO       2019-02-28 01:20:19.000000000 +0100
+++ new/IPy-1.01/PKG-INFO       2020-12-01 21:32:38.000000000 +0100
@@ -1,10 +1,10 @@
 Metadata-Version: 1.1
 Name: IPy
-Version: 1.00
+Version: 1.01
 Summary: Class and tools for handling of IPv4 and IPv6 addresses and networks
 Home-page: https://github.com/autocracy/python-ipy
 Author: Jeff Ferland
-Author-email: j...@storyinmemo.com
+Author-email: jeff_...@storyinmemo.com
 License: BSD License
 Download-URL: https://github.com/autocracy/python-ipy
 Description: IPy - class and tools for handling of IPv4 and IPv6 addresses and 
networks.
@@ -186,7 +186,7 @@
         Compatibility and links
         =======================
         
-        IPy 1.00 works on Python version 2.6 - 3.7.
+        IPy 1.01 works on Python version 2.6 - 3.7.
         
         The IP module should work in Python 2.5 as long as the subtraction 
operation
         is not used. IPSet requires features of the collecitons class which 
appear
@@ -209,147 +209,7 @@
         Further Information might be available at:
         https://github.com/autocracy/python-ipy
         
-        What's new
-        ==========
         
-        Version 1.00 (2019-02-27)
-         * Fix IPv6 string interpretation for small ints
-         * Various Python3 language fixes
-         * consider 127.0 range LOOPBACK not PRIVATE
-        
-        Version 0.83 (2015-04-04)
-        ------------
-         * Add carrier grade NAT ranges
-         * Unbreak lots of packing systems by not having a letter in the 
release version
-        
-        Version 0.82a (2014-10-07)
-        ------------
-         * Fix version numbers in files
-         * Correct x.next() -> next(x) python3 compatability
-        
-        Version 0.82 (2014-10-06)
-        ------------
-        
-         * Add support for array slices
-         * Add __and__ and isdisjoint for IPSet
-         * Fix a bug in IPSet where contains may incorrectly return false
-         * Added some fuzz testing
-        
-        Version 0.81 (2013-04-08)
-        ------------
-        
-         * Correct reverseName() for IPv6 addresses, so 
IP('::1').reverseName() returns correct.
-         * Add network mask awareness to v46map()
-         * Fix Python 3 errors in IPSet class
-         * Make IPSet base class be object when MutableSet isn't available, 
fixing
-           errors in Python 2.5
-        
-        Version 0.80 (2013-03-26)
-        ------------
-        
-         * Drop support of Python older than 2.4
-         * Python 3 does not need 2to3 conversion anymore (same code base)
-         * Fix adding of non-adjacent networks:
-           192.168.0.0/24 + 192.168.255.0/24 made 192.168.0.0/23
-         * Fix adding networks that don't create a valid subnet:
-           192.168.1.0/24 + 192.168.2.0/24 made 192.168.1.0/23
-         * Fix adding with an IPv6 address where .int() was < 32 bits made IPy 
believe it
-          was an IPv4 address:
-          ::ffff:0/112 + ::1:0:0/112 made 255.255.0.0/111
-         * Add support of IPSets
-         * Add support for subtracting a network range
-         * Prevent IPv4 and IPv6 ranges from saying they contain each other
-         * Add a .v46map() method to convert mapped address ranges
-           such as IP('::ffff:192.168.1.1'); RFC 4291
-         * Change sort order to more natural: 
-           IPv4 before IPv6; less-specific prefixes first (/0 before /32)
-        
-        
-        Version 0.76 (2013-03-19)
-        -------------------------
-        
-         * ip == other and ip != other doesn't fail with an exception anymore 
if other
-          is not a IP object
-         * Add IP.get_mac() method: get the 802.3 MAC address from IPv6 RFC 
2464
-          address.
-         * Fix IP('::/0')[0]: return an IPv6 instead of an IPv4 address
-        
-        Version 0.75 (2011-04-12)
-        -------------------------
-        
-         * IP('::/0').netmask() gives IP('::') instead of IP('0.0.0.0')
-        
-        Version 0.74 (2011-02-16)
-        -------------------------
-        
-         * Fix tests for Python 3.1 and 3.2
-         * ip.__nonzero__() and (ipa in ipb) return a bool instead of 0 or 1
-         * IP('0.0.0.0/0') + IP('0.0.0.0/0') raises an error, fix written by 
Arfrever
-        
-        Version 0.73 (2011-02-15)
-        -------------------------
-        
-         * Support Python 3: setup.py runs 2to3
-         * Update the ranges for IPv6 IPs
-         * Fix reverseName() and reverseNames() for IPv4 in IPv6 addresses
-         * Drop support of Python < 2.5
-        
-        Version 0.72 (2010-11-23)
-        -------------------------
-        
-         * Include examples and MANIFEST.in in source build (add them to
-           MANIFEST.in)
-         * Remove __rcsid__ constant from IPy module
-        
-        Version 0.71 (2010-10-01)
-        -------------------------
-        
-         * Use xrange() instead of range()
-         * Use isinstance(x, int) instead of type(x) == types.IntType
-         * Prepare support of Python3 (use integer division: x // y)
-         * Fix IP(long) constructor: ensure that the address is not too large
-         * Constructor raise a TypeError if the type is not int, long,
-           str or unicode
-         * 223.0.0.0/8 is now public (belongs to APNIC)
-        
-        Version 0.70 (2009-10-29)
-        -------------------------
-        
-         * New "major" version because it may break compatibility
-         * Fix __cmp__(): IP('0.0.0.0/0') and IP('0.0.0.0') are not equal
-         * Fix IP.net() of the network "::/0": "::" instead of "0.0.0.0".
-           IPy 0.63 should fix this bug, but it wasn't.
-        
-        Version 0.64 (2009-08-19)
-        -------------------------
-        
-         * Create MANIFEST.in to fix setup.py bdist_rpm, fix by Robert Nickel
-        
-        Version 0.63 (2009-06-23)
-        -------------------------
-        
-         * Fix formatting of "IPv4 in IPv6" network, eg. 
IP('::ffff:192.168.10.0/120'),
-           the netmask ("/120" in the example) was missing!
-        
-        Version 0.62 (2008-07-15)
-        -------------------------
-        
-         * Fix reverse DNS of IPv6 address: use ".ip6.arpa." suffix instead of
-           deprecated ".ip6.int." suffix
-        
-        Version 0.61 (2008-06-12)
-        -------------------------
-        
-         * Patch from Aras Vaichas allowing the [-1] operator
-           to work with an IP object of size 1.
-        
-        Version 0.60 (2008-05-16)
-        -------------------------
-        
-         * strCompressed() formats '::ffff:a.b.c.d' correctly
-         * Use strCompressed() instead of strFullsize() to format IP addresses,
-           ouput is smarter with IPv6 address
-         * Remove check_addr_prefixlen because it generates invalid IP address
 Keywords: ipv4 ipv6 netmask
 Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPy-1.00/README.rst new/IPy-1.01/README.rst
--- old/IPy-1.00/README.rst     2019-02-28 00:55:17.000000000 +0100
+++ new/IPy-1.01/README.rst     2020-12-01 21:15:08.000000000 +0100
@@ -177,7 +177,7 @@
 Compatibility and links
 =======================
 
-IPy 1.00 works on Python version 2.6 - 3.7.
+IPy 1.01 works on Python version 2.6 - 3.7.
 
 The IP module should work in Python 2.5 as long as the subtraction operation
 is not used. IPSet requires features of the collecitons class which appear
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPy-1.00/example/confbuilder.py 
new/IPy-1.01/example/confbuilder.py
--- old/IPy-1.00/example/confbuilder.py 2018-02-01 09:32:18.000000000 +0100
+++ new/IPy-1.01/example/confbuilder.py 2020-12-01 21:08:10.000000000 +0100
@@ -1,3 +1,4 @@
+from __future__ import print_function
 # This is a hack I use to generate my tinydns configuration
 # It serves as e test for converting from Perl Net::IP to
 # Python and IPy
@@ -15,11 +16,11 @@
       'ns.dorsch.org': '195.143.234.25',
       'ns.c0re.jp': '217.6.214.130'}
 
-print "# *** nameservers ***"
-for x in ns.keys():
-    print "=%s:%s" % (x, ns[x])
+print("# *** nameservers ***")
+for x in ns:
+    print("=%s:%s" % (x, ns[x]))
 
-print "\n# *** domains ***"
+print("\n# *** domains ***")
 
 fd = open('domains')
 
@@ -28,13 +29,13 @@
         if x[-1] == '\n':
             x = x[:-1]
         (domain, owner) = x.split(':')
-        print "'%s:Contact for this domain is %s" % (domain, owner)
-        for y in ns.keys(): 
-            print ".%s::%s" % (domain, y)
+        print("'%s:Contact for this domain is %s" % (domain, owner))
+        for y in ns: 
+            print(".%s::%s" % (domain, y))
 
 fd.close()
 
-print "\n# *** Networks ***"
+print("\n# *** Networks ***")
 
 fd = open('networks')
 ip6map = {}
@@ -47,12 +48,12 @@
     if len(x) > 0 and x[0] != '#':
         nets = x.split(',')
         name = nets.pop(0)
-        print "# Network: %s" % name
+        print("# Network: %s" % name)
         for y in nets:
             ip = IPy.IP(y)
-            print "# Address range: %s (%s), %d addresses" % 
(ip.strCompressed(), ip.iptype(), ip.len())
-            print "=net.%s:%s" % (name, ip.net())
-            print "=broadcast.%s:%s" % (name, ip.broadcast())
+            print("# Address range: %s (%s), %d addresses" % 
(ip.strCompressed(), ip.iptype(), ip.len()))
+            print("=net.%s:%s" % (name, ip.net()))
+            print("=broadcast.%s:%s" % (name, ip.broadcast()))
             
             if ip.version() == 4:
                 for z in ip:
@@ -61,14 +62,14 @@
                     rmap[z.int()] = z.strBin() + "." + name
             else:
                 # IPv6
-                for z in ns.keys():
+                for z in ns:
                     for v in ip.reverseName():
-                        print ".%s::%s" % (v, z) 
+                        print(".%s::%s" % (v, z)) 
                 ip6map[ip.strFullsize(0)] = name
 
 fd.close()
 
-print "\n# *** hosts ***"
+print("\n# *** hosts ***")
       
 fd = open('hosts')
 
@@ -77,12 +78,12 @@
         x = x[:-1]
     if x != '' and x[0] != '#':
         if "@Z'.".find(x[0]) >= 0:
-            print x
+            print(x)
         else:
             if "=+'".find(x[0]) >= 0:
                 i = x.split(':')
                 rmap[IPy.IP(i[1]).int()] = ''
-                print x
+                print(x)
             else:
                 x = x[1:]
                 x += '||||'
@@ -107,35 +108,33 @@
                     ip = IPy.IP(y) 
                     if ip.version() == 4:
                         # IPv4 is easy
-                        if not nmap.has_key(ip.int()):
-                            print >>sys.stderr, "*** warning: no network for 
%s (%s) - ignoring" % (y, name)
-                            print "# no network for %s (%s)" % (y, name)
+                        if ip.int() not in nmap:
+                            print("*** warning: no network for %s (%s) - 
ignoring" % (y, name), file=sys.stderr)
+                            print("# no network for %s (%s)" % (y, name))
                         else:
-                            print "=%s.%s:%s" % (name, nmap[ip.int()], y)
-                            print "'%s.%s:Host contact is %s" % (name, 
nmap[ip.int()], admin)
+                            print("=%s.%s:%s" % (name, nmap[ip.int()], y))
+                            print("'%s.%s:Host contact is %s" % (name, 
nmap[ip.int()], admin))
                             rmap[ip.int()] = ''      
                             for z in aliases:
-                                print "+%s:%s" % (z, ip)
-                                print "'%s:Host contact is %s" % (z, admin)
+                                print("+%s:%s" % (z, ip))
+                                print("'%s:Host contact is %s" % (z, admin))
                     else:
                         #IPv6 here
                         net = ip.strFullsize(0)
                         net = net[:19] + ':0000:0000:0000:0000'
-                        if ip6map.has_key(net):
-                            print >>sys.stderr, "*** warning: no network for 
%s (%s) - ignoring" % (ip, name)
-                            print "# no network for %s (%s) - ignoring" % (ip, 
name)
+                        if net in ip6map:
+                            print("*** warning: no network for %s (%s) - 
ignoring" % (ip, name), file=sys.stderr)
+                            print("# no network for %s (%s) - ignoring" % (ip, 
name))
                         else:  
-                            print "6%s.%s:%s"; (name, ip6map[net], 
ip.strHex()[2:])
+                            print("6%s.%s:%s" % (name, ip6map[net], 
ip.strHex()[2:]))
                             for z in aliases:
-                                print "3%s:%s" % (name, ip.strHex()[2:])
-                                print "'%s:Host contact is %s" % (name, admin)
+                                print("3%s:%s" % (name, ip.strHex()[2:]))
+                                print("'%s:Host contact is %s" % (name, admin))
 
 fd.close()
 
-print "\n# *** reverse lookup ***"
-k = nmap.keys()
-k.sort()
-for x in k:
-    if rmap.has_key(x) and rmap[x] != '':
-      print "=%s:%s" % (rmap[x], str(IPy.IP(x)))
+print("\n# *** reverse lookup ***")
+for x in sorted(nmap):
+    if rmap.get(x):
+      print("=%s:%s" % (rmap[x], str(IPy.IP(x))))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPy-1.00/setup.py new/IPy-1.01/setup.py
--- old/IPy-1.00/setup.py       2019-02-28 01:20:06.000000000 +0100
+++ new/IPy-1.01/setup.py       2020-12-01 21:32:26.000000000 +0100
@@ -23,7 +23,7 @@
 import sys
 from distutils.core import setup
 
-VERSION = '1.00'
+VERSION = '1.01'
 
 options = {}
 
@@ -37,7 +37,7 @@
 with open('ChangeLog') as fp:
     ChangeLog += fp.read().strip()
 
-LONG_DESCRIPTION = README + ChangeLog
+LONG_DESCRIPTION = README
 CLASSIFIERS = [
     'Development Status :: 5 - Production/Stable',
     'Intended Audience :: Developers',
@@ -62,7 +62,7 @@
     long_description=LONG_DESCRIPTION,
     author="Maximillian Dornseif",
     maintainer="Jeff Ferland",
-    maintainer_email="j...@storyinmemo.com",
+    maintainer_email="jeff_...@storyinmemo.com",
     license="BSD License",
     keywords="ipv4 ipv6 netmask",
     url=URL,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IPy-1.00/test/test_IPy.py 
new/IPy-1.01/test/test_IPy.py
--- old/IPy-1.00/test/test_IPy.py       2019-02-28 00:46:37.000000000 +0100
+++ new/IPy-1.01/test/test_IPy.py       2020-12-01 21:08:10.000000000 +0100
@@ -788,7 +788,11 @@
     it.setDaemon(True)
     it.start()
     it.join(timeout_duration)
-    if it.isAlive():
+    if hasattr(it, 'is_alive'):
+        is_alive = it.is_alive()
+    else:
+        is_alive = it.isAlive()
+    if is_alive:
         return default
     else:
         return it.result

Reply via email to