Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-suds-community for 
openSUSE:Factory checked in at 2021-11-07 00:19:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-suds-community (Old)
 and      /work/SRC/openSUSE:Factory/.python-suds-community.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-suds-community"

Sun Nov  7 00:19:05 2021 rev:2 rq:929907 version:1.0.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-suds-community/python-suds-community.changes  
    2021-10-16 22:48:25.080731243 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-suds-community.new.1890/python-suds-community.changes
    2021-11-07 00:19:29.312553066 +0100
@@ -1,0 +2,6 @@
+Sat Nov  6 17:47:08 UTC 2021 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 1.0.0:
+  * python 2.x removal
+
+-------------------------------------------------------------------

Old:
----
  suds-community-0.8.5.tar.gz

New:
----
  suds-community-1.0.0.tar.gz

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

Other differences:
------------------
++++++ python-suds-community.spec ++++++
--- /var/tmp/diff_new_pack.7tDU6A/_old  2021-11-07 00:19:29.888553094 +0100
+++ /var/tmp/diff_new_pack.7tDU6A/_new  2021-11-07 00:19:29.888553094 +0100
@@ -17,8 +17,9 @@
 
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%global skip_python2 1
 Name:           python-suds-community
-Version:        0.8.5
+Version:        1.0.0
 Release:        0
 Summary:        Lightweight SOAP client (Jurko's fork)
 License:        LGPL-3.0-or-later

++++++ suds-community-0.8.5.tar.gz -> suds-community-1.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/PKG-INFO 
new/suds-community-1.0.0/PKG-INFO
--- old/suds-community-0.8.5/PKG-INFO   2021-05-15 21:44:16.000000000 +0200
+++ new/suds-community-1.0.0/PKG-INFO   2021-10-26 14:31:49.312731000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: suds-community
-Version: 0.8.5
+Version: 1.0.0
 Summary: Lightweight SOAP client (community fork)
 Home-page: https://github.com/suds-community/suds
 Author: Jeff Ortel
@@ -8,19 +8,7 @@
 Maintainer: Jurko Gospodneti??
 Maintainer-email: jurko.gospodne...@pke.hr
 License: (specified using classifiers)
-Download-URL: 
https://github.com/suds-community/suds/archive/release-0.8.5.tar.gz
-Description: 
-        ---------------------------------------
-        Lightweight SOAP client (Community fork).
-        ---------------------------------------
-        
-          Based on the original 'suds' project by Jeff Ortel (jortel at redhat
-        dot com) hosted at 'http://fedorahosted.org/suds'.
-        
-          'Suds' is a lightweight SOAP-based web service client for Python
-        licensed under LGPL (see the LICENSE.txt file included in the
-        distribution).
-        
+Download-URL: 
https://github.com/suds-community/suds/archive/release-1.0.0.tar.gz
 Keywords: SOAP,web,service,client
 Platform: (specified using classifiers)
 Classifier: Development Status :: 5 - Production/Stable
@@ -29,9 +17,8 @@
 Classifier: Natural Language :: English
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
@@ -39,4 +26,20 @@
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Topic :: Internet
 Obsoletes: suds
+Requires-Python: >=3.5
 Description-Content-Type: text/markdown
+License-File: LICENSE.txt
+
+
+---------------------------------------
+Lightweight SOAP client (Community fork).
+---------------------------------------
+
+  Based on the original 'suds' project by Jeff Ortel (jortel at redhat
+dot com) hosted at 'http://fedorahosted.org/suds'.
+
+  'Suds' is a lightweight SOAP-based web service client for Python
+licensed under LGPL (see the LICENSE.txt file included in the
+distribution).
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/README.md 
new/suds-community-1.0.0/README.md
--- old/suds-community-0.8.5/README.md  2021-05-15 21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/README.md  2021-10-26 14:31:46.000000000 +0200
@@ -1,5 +1,4 @@
-[![Build
-Status](https://travis-ci.org/suds-community/suds.svg?branch=master)](https://travis-ci.org/suds-community/suds)
+![Build 
Status](https://github.com/suds-community/suds/workflows/Test/badge.svg?branch=master)
 
 # Overview
 
@@ -96,9 +95,8 @@
 
 ## Python Support
 
-See `.travis.yml` for supported Python versions. The goal is to support
-[currently maintained Python 
version](https://devguide.python.org/#status-of-python-branches)
-and Python 2.7.
+See `.github/workflows/test_and_release.yml` for supported Python versions. 
The goal is to support
+[currently maintained versions of 
Python](https://devguide.python.org/#status-of-python-branches).
 
 ## Logging
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/setup.py 
new/suds-community-1.0.0/setup.py
--- old/suds-community-0.8.5/setup.py   2021-05-15 21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/setup.py   2021-10-26 14:31:46.000000000 +0200
@@ -23,7 +23,6 @@
 automatically if it is not, downloading it from PyPI if needed. However, its
 main functionality will function just fine without setuptools as well. Having
 setuptools available provides us with the following benefits:
-  - simpler py2to3/distutils integration
   - setup.py 'egg_info' command constructing the project's metadata
   - setup.py 'develop' command deploying the project in 'development mode',
     thus making it available on sys.path, yet still editable directly in its
@@ -575,27 +574,6 @@
 
 
 # -----------------------------------------------------------------------------
-# Integrate py2to3 into our build operation.
-# -----------------------------------------------------------------------------
-
-if sys.version_info >= (3,):
-    # Integrate the py2to3 step into our build.
-    if using_setuptools:
-        extra_setup_params["use_2to3"] = True
-    else:
-        from distutils.command.build_py import build_py_2to3
-        distutils_cmdclass["build_py"] = build_py_2to3
-
-    # Teach Python's urllib lib2to3 fixer that the old urllib2.__version__ data
-    # member is now stored in the urllib.request module.
-    import lib2to3.fixes.fix_urllib
-    for x in lib2to3.fixes.fix_urllib.MAPPING["urllib2"]:
-        if x[0] == "urllib.request":
-            x[1].append("__version__")
-            break
-
-
-# -----------------------------------------------------------------------------
 # Avoid setup warnings when constructing a list of all project sources.
 # -----------------------------------------------------------------------------
 # Part of this workaround implemented and part in the project's MANIFEST.in
@@ -704,9 +682,8 @@
         "Natural Language :: English",
         "Operating System :: OS Independent",
         "Programming Language :: Python",
-        "Programming Language :: Python :: 2",
-        "Programming Language :: Python :: 2.7",
         "Programming Language :: Python :: 3",
+        "Programming Language :: Python :: 3 :: Only",
         "Programming Language :: Python :: 3.5",
         "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
@@ -721,5 +698,6 @@
 
     # Register distutils command customizations.
     cmdclass=distutils_cmdclass,
+    python_requires=">=3.5",
 
     **extra_setup_params)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/__init__.py 
new/suds-community-1.0.0/suds/__init__.py
--- old/suds-community-0.8.5/suds/__init__.py   2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/__init__.py   2021-10-26 14:31:46.000000000 
+0200
@@ -25,7 +25,7 @@
 # Project properties
 #
 
-from version import __build__, __version__
+from .version import __build__, __version__
 
 
 #
@@ -34,23 +34,23 @@
 
 class MethodNotFound(Exception):
     def __init__(self, name):
-        Exception.__init__(self, u"Method not found: '%s'" % (name,))
+        Exception.__init__(self, "Method not found: '%s'" % (name,))
 
 class PortNotFound(Exception):
     def __init__(self, name):
-        Exception.__init__(self, u"Port not found: '%s'" % (name,))
+        Exception.__init__(self, "Port not found: '%s'" % (name,))
 
 class ServiceNotFound(Exception):
     def __init__(self, name):
-        Exception.__init__(self, u"Service not found: '%s'" % (name,))
+        Exception.__init__(self, "Service not found: '%s'" % (name,))
 
 class TypeNotFound(Exception):
     def __init__(self, name):
-        Exception.__init__(self, u"Type not found: '%s'" % (tostr(name),))
+        Exception.__init__(self, "Type not found: '%s'" % (tostr(name),))
 
 class BuildError(Exception):
     def __init__(self, name, exception):
-        Exception.__init__(self, u"An error occurred while building an "
+        Exception.__init__(self, "An error occurred while building an "
             "instance of (%s). As a result the object you requested could not "
             "be constructed. It is recommended that you construct the type "
             "manually using a Suds object. Please open a ticket with a "
@@ -59,7 +59,7 @@
 class WebFault(Exception):
     def __init__(self, fault, document):
         if hasattr(fault, "faultstring"):
-            Exception.__init__(self, u"Server raised fault: '%s'" %
+            Exception.__init__(self, "Server raised fault: '%s'" %
                 (fault.faultstring,))
         self.fault = fault
         self.document = document
@@ -89,7 +89,7 @@
 
 def tostr(object, encoding=None):
     """Get a unicode safe string representation of an object."""
-    if isinstance(object, basestring):
+    if isinstance(object, str):
         if encoding is None:
             return object
         return object.encode(encoding)
@@ -109,7 +109,7 @@
         return "".join(s)
     if isinstance(object, dict):
         s = ["{"]
-        for item in object.items():
+        for item in list(object.items()):
             s.append(tostr(item[0]))
             s.append(" = ")
             s.append(tostr(item[1]))
@@ -117,7 +117,7 @@
         s.append("}")
         return "".join(s)
     try:
-        return unicode(object)
+        return str(object)
     except Exception:
         return str(object)
 
@@ -127,7 +127,7 @@
 #
 
 if sys.version_info < (3, 0):
-    from cStringIO import StringIO as BytesIO
+    from io import StringIO as BytesIO
 else:
     from io import BytesIO
 
@@ -137,7 +137,7 @@
         # For Python 3, __str__() and __unicode__() should be identical.
         __str__ = lambda x: x.__unicode__()
     else:
-        __str__ = lambda x: unicode(x).encode("utf-8")
+        __str__ = lambda x: str(x).encode("utf-8")
 
 # Used instead of byte literals as they are not supported on Python versions
 # prior to 2.6.
@@ -149,8 +149,8 @@
     strings encoded using the given input encoding.
 
     """
-    assert isinstance(s, basestring)
-    if isinstance(s, unicode):
+    assert isinstance(s, str)
+    if isinstance(s, str):
         return s.encode(encoding, errors)
     if s and encoding != input_encoding:
         return s.decode(input_encoding, errors).encode(encoding, errors)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/argparser.py 
new/suds-community-1.0.0/suds/argparser.py
--- old/suds-community-0.8.5/suds/argparser.py  2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/argparser.py  2021-10-26 14:31:46.000000000 
+0200
@@ -161,7 +161,7 @@
             return
 
         if self.__kwargs:
-            param_name = self.__kwargs.keys()[0]
+            param_name = list(self.__kwargs.keys())[0]
             if param_name in self.__params_with_arguments:
                 msg = "got multiple values for parameter '%s'"
             else:
@@ -263,7 +263,7 @@
         if len(stack) == 1:
             return stack[0], ancestry
         previous = stack[0]
-        for frame, n in zip(stack[1:], xrange(len(ancestry))):
+        for frame, n in zip(stack[1:], range(len(ancestry))):
             if frame.id() is not ancestry[n]:
                 return previous, ancestry[n:]
             previous = frame
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/builder.py 
new/suds-community-1.0.0/suds/builder.py
--- old/suds-community-0.8.5/suds/builder.py    2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/builder.py    2021-10-26 14:31:46.000000000 
+0200
@@ -34,7 +34,7 @@
 
     def build(self, name):
         """ build a an object for the specified typename as defined in the 
schema """
-        if isinstance(name, basestring):
+        if isinstance(name, str):
             type = self.resolver.find(name)
             if type is None:
                 raise TypeNotFound(name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/cache.py 
new/suds-community-1.0.0/suds/cache.py
--- old/suds-community-0.8.5/suds/cache.py      2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/cache.py      2021-10-26 14:31:46.000000000 
+0200
@@ -25,7 +25,7 @@
 import datetime
 import os
 try:
-    import cPickle as pickle
+    import pickle as pickle
 except Exception:
     import pickle
 import shutil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/client.py 
new/suds-community-1.0.0/suds/client.py
--- old/suds-community-0.8.5/suds/client.py     2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/client.py     2021-10-26 14:31:46.000000000 
+0200
@@ -36,11 +36,11 @@
 import suds.transport.https
 from suds.umx.basic import Basic as UmxBasic
 from suds.wsdl import Definitions
-import sudsobject
+from . import sudsobject
 
-from cookielib import CookieJar
+from http.cookiejar import CookieJar
 from copy import deepcopy
-import httplib
+import http.client
 
 from logging import getLogger
 log = getLogger(__name__)
@@ -192,7 +192,7 @@
         if suds.__build__:
             s.append("  build: %s" % (suds.__build__,))
         for sd in self.sd:
-            s.append("\n\n%s" % (unicode(sd),))
+            s.append("\n\n%s" % (str(sd),))
         return "".join(s)
 
 
@@ -239,7 +239,7 @@
         else:
             try:
                 result = self.builder.build(type)
-            except Exception, e:
+            except Exception as e:
                 log.error("create '%s' failed", name, exc_info=True)
                 raise BuildError(name, e)
         timer.stop()
@@ -340,20 +340,20 @@
         """
         service = None
         if not self.__services:
-            raise Exception, "No services defined"
+            raise Exception("No services defined")
         if isinstance(name, int):
             try:
                 service = self.__services[name]
                 name = service.name
             except IndexError:
-                raise ServiceNotFound, "at [%d]" % (name,)
+                raise ServiceNotFound("at [%d]" % (name,))
         else:
             for s in self.__services:
                 if name == s.name:
                     service = s
                     break
         if service is None:
-            raise ServiceNotFound, name
+            raise ServiceNotFound(name)
         return PortSelector(self.__client, service.ports, name)
 
     def __ds(self):
@@ -450,13 +450,13 @@
         """
         port = None
         if not self.__ports:
-            raise Exception, "No ports defined: %s" % (self.__qn,)
+            raise Exception("No ports defined: %s" % (self.__qn,))
         if isinstance(name, int):
             qn = "%s[%d]" % (self.__qn, name)
             try:
                 port = self.__ports[name]
             except IndexError:
-                raise PortNotFound, qn
+                raise PortNotFound(qn)
         else:
             qn = ".".join((self.__qn, name))
             for p in self.__ports:
@@ -464,7 +464,7 @@
                     port = p
                     break
         if port is None:
-            raise PortNotFound, qn
+            raise PortNotFound(qn)
         qn = ".".join((self.__qn, port.name))
         return MethodSelector(self.__client, port.methods, qn)
 
@@ -532,7 +532,7 @@
         m = self.__methods.get(name)
         if m is None:
             qn = ".".join((self.__qn, name))
-            raise MethodNotFound, qn
+            raise MethodNotFound(qn)
         return Method(self.__client, m)
 
 
@@ -564,10 +564,10 @@
         client = clientclass(self.client, self.method)
         try:
             return client.invoke(args, kwargs)
-        except WebFault, e:
+        except WebFault as e:
             if self.faults():
                 raise
-            return httplib.INTERNAL_SERVER_ERROR, e
+            return http.client.INTERNAL_SERVER_ERROR, e
 
     def faults(self):
         """Get faults option."""
@@ -750,7 +750,7 @@
             reply = self.options.transport.send(request)
             timer.stop()
             metrics.log.debug("waited %s on server reply", timer)
-        except suds.transport.TransportError, e:
+        except suds.transport.TransportError as e:
             content = e.fp and e.fp.read() or ""
             return self.process_reply(content, e.httpcode, tostr(e))
         return self.process_reply(reply.message, None, None)
@@ -774,15 +774,15 @@
 
         """
         if status is None:
-            status = httplib.OK
+            status = http.client.OK
         debug_message = "Reply HTTP status - %d" % (status,)
-        if status in (httplib.ACCEPTED, httplib.NO_CONTENT):
+        if status in (http.client.ACCEPTED, http.client.NO_CONTENT):
             log.debug(debug_message)
             return
         #TODO: Consider whether and how to allow plugins to handle error,
         # httplib.ACCEPTED & httplib.NO_CONTENT replies as well as successful
         # ones.
-        if status == httplib.OK:
+        if status == http.client.OK:
             log.debug("%s\n%s", debug_message, reply)
         else:
             log.debug("%s - %s\n%s", debug_message, description, reply)
@@ -804,19 +804,19 @@
         #   An INSTANCE MUST use a "500 Internal Server Error" HTTP status code
         # if the response message is a SOAP Fault.
         replyroot = None
-        if status in (httplib.OK, httplib.INTERNAL_SERVER_ERROR):
+        if status in (http.client.OK, http.client.INTERNAL_SERVER_ERROR):
             replyroot = _parse(reply)
             plugins.message.parsed(reply=replyroot)
             fault = self.__get_fault(replyroot)
             if fault:
-                if status != httplib.INTERNAL_SERVER_ERROR:
+                if status != http.client.INTERNAL_SERVER_ERROR:
                     log.warning("Web service reported a SOAP processing fault "
                         "using an unexpected HTTP status code %d. Reporting "
                         "as an internal server error.", status)
                 if self.options.faults:
                     raise WebFault(fault, replyroot)
-                return httplib.INTERNAL_SERVER_ERROR, fault
-        if status != httplib.OK:
+                return http.client.INTERNAL_SERVER_ERROR, fault
+        if status != http.client.OK:
             if self.options.faults:
                 #TODO: Use a more specific exception class here.
                 raise Exception((status, description))
@@ -831,7 +831,7 @@
         result = ctx.reply
         if self.options.faults:
             return result
-        return httplib.OK, result
+        return http.client.OK, result
 
     def __get_fault(self, replyroot):
         """
@@ -861,7 +861,7 @@
 
         """
         action = self.method.soap.action
-        if isinstance(action, unicode):
+        if isinstance(action, str):
             action = action.encode("utf-8")
         result = {
             "Content-Type": "text/xml; charset=utf-8",
@@ -889,7 +889,7 @@
     @classmethod
     def simulation(cls, kwargs):
         """Get whether injected data has been specified in I{kwargs}."""
-        return kwargs.has_key(_SimClient.__injkey)
+        return _SimClient.__injkey in kwargs
 
     def invoke(self, args, kwargs):
         """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/mx/__init__.py 
new/suds-community-1.0.0/suds/mx/__init__.py
--- old/suds-community-0.8.5/suds/mx/__init__.py        2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/mx/__init__.py        2021-10-26 
14:31:46.000000000 +0200
@@ -45,7 +45,7 @@
         Object.__init__(self)
         self.tag = tag
         self.value = value
-        for k, v in kwargs.iteritems():
+        for k, v in kwargs.items():
             setattr(self, k, v)
 
     def __getattr__(self, name):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/mx/appender.py 
new/suds-community-1.0.0/suds/mx/appender.py
--- old/suds-community-0.8.5/suds/mx/appender.py        2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/mx/appender.py        2021-10-26 
14:31:46.000000000 +0200
@@ -206,7 +206,7 @@
         child = self.node(content)
         child.setText(p.get())
         parent.append(child)
-        for item in p.items():
+        for item in list(p.items()):
             cont = Content(tag=item[0], value=item[1])
             Appender.append(self, child, cont)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/mx/typer.py 
new/suds-community-1.0.0/suds/mx/typer.py
--- old/suds-community-0.8.5/suds/mx/typer.py   2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/mx/typer.py   2021-10-26 14:31:46.000000000 
+0200
@@ -36,10 +36,10 @@
         bool: ("boolean", Namespace.xsdns),
         float: ("float", Namespace.xsdns),
         int: ("int", Namespace.xsdns),
-        long: ("long", Namespace.xsdns),
+        int: ("long", Namespace.xsdns),
         str: ("string", Namespace.xsdns),
         Text: ("string", Namespace.xsdns),
-        unicode: ("string", Namespace.xsdns)}
+        str: ("string", Namespace.xsdns)}
 
     @classmethod
     def auto(cls, node, value=None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/options.py 
new/suds-community-1.0.0/suds/options.py
--- old/suds-community-0.8.5/suds/options.py    2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/options.py    2021-10-26 14:31:46.000000000 
+0200
@@ -143,9 +143,9 @@
             Definition('allowUnknownMessageParts', bool, False),
             Definition('faults', bool, True),
             Definition('transport', Transport, None, TpLinker()),
-            Definition('service', (int, basestring), None),
-            Definition('port', (int, basestring), None),
-            Definition('location', basestring, None),
+            Definition('service', (int, str), None),
+            Definition('port', (int, str), None),
+            Definition('location', str, None),
             Definition('soapheaders', (), ()),
             Definition('wsse', Security, None),
             Definition('doctor', Doctor, None),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/plugin.py 
new/suds-community-1.0.0/suds/plugin.py
--- old/suds-community-0.8.5/suds/plugin.py     2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/plugin.py     2021-10-26 14:31:46.000000000 
+0200
@@ -219,7 +219,7 @@
     def __getattr__(self, name):
         domain = self.domains.get(name)
         if not domain:
-            raise Exception, 'plugin domain (%s), invalid' % (name,)
+            raise Exception('plugin domain (%s), invalid' % (name,))
         ctx, pclass = domain
         plugins = [p for p in self.plugins if isinstance(p, pclass)]
         return PluginDomain(ctx, plugins)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/properties.py 
new/suds-community-1.0.0/suds/properties.py
--- old/suds-community-0.8.5/suds/properties.py 2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/properties.py 2021-10-26 14:31:46.000000000 
+0200
@@ -67,23 +67,23 @@
         """
         if pA in pB.links or \
            pB in pA.links:
-            raise Exception, 'Already linked'
+            raise Exception('Already linked')
         dA = pA.domains()
         dB = pB.domains()
         for d in dA:
             if d in dB:
-                raise Exception, 'Duplicate domain "%s" found' % d
+                raise Exception('Duplicate domain "%s" found' % d)
         for d in dB:
             if d in dA:
-                raise Exception, 'Duplicate domain "%s" found' % d
-        kA = pA.keys()
-        kB = pB.keys()
+                raise Exception('Duplicate domain "%s" found' % d)
+        kA = list(pA.keys())
+        kB = list(pB.keys())
         for k in kA:
             if k in kB:
-                raise Exception, 'Duplicate key %s found' % k
+                raise Exception('Duplicate key %s found' % k)
         for k in kB:
             if k in kA:
-                raise Exception, 'Duplicate key %s found' % k
+                raise Exception('Duplicate key %s found' % k)
         return self
 
     def teardown(self):
@@ -177,7 +177,7 @@
         if len(self.classes) and \
             not isinstance(value, self.classes):
                 msg = '"%s" must be: %s' % (self.name, self.classes)
-                raise AttributeError,msg
+                raise AttributeError(msg)
 
 
     def __repr__(self):
@@ -251,7 +251,7 @@
         """
         if isinstance(other, Properties):
             other = other.defined
-        for n,v in other.items():
+        for n,v in list(other.items()):
             self.set(n, v)
         return self
 
@@ -372,7 +372,7 @@
             history = []
         history.append(self)
         keys = set()
-        keys.update(self.definitions.keys())
+        keys.update(list(self.definitions.keys()))
         for x in self.links:
             if x in history:
                 continue
@@ -408,7 +408,7 @@
         @return: self
         @rtype: L{Properties}
         """
-        for d in self.definitions.values():
+        for d in list(self.definitions.values()):
             self.defined[d.name] = d.default
         return self
 
@@ -434,10 +434,10 @@
     def str(self, history):
         s = []
         s.append('Definitions:')
-        for d in self.definitions.values():
+        for d in list(self.definitions.values()):
             s.append('\t%s' % repr(d))
         s.append('Content:')
-        for d in self.defined.items():
+        for d in list(self.defined.items()):
             s.append('\t%s' % str(d))
         if self not in history:
             history.append(self)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/sax/__init__.py 
new/suds-community-1.0.0/suds/sax/__init__.py
--- old/suds-community-0.8.5/suds/sax/__init__.py       2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/sax/__init__.py       2021-10-26 
14:31:46.000000000 +0200
@@ -45,7 +45,7 @@
     @rtype: (I{prefix}, I{name})
 
     """
-    if isinstance(name, basestring) and ":" in name:
+    if isinstance(name, str) and ":" in name:
         return tuple(name.split(":", 1))
     return None, name
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/sax/attribute.py 
new/suds-community-1.0.0/suds/sax/attribute.py
--- old/suds-community-0.8.5/suds/sax/attribute.py      2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/sax/attribute.py      2021-10-26 
14:31:46.000000000 +0200
@@ -170,4 +170,4 @@
 
     def __unicode__(self):
         """XML string representation."""
-        return u'%s="%s"' % (self.qname(), self.value and self.value.escape())
+        return '%s="%s"' % (self.qname(), self.value and self.value.escape())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/sax/date.py 
new/suds-community-1.0.0/suds/sax/date.py
--- old/suds-community-0.8.5/suds/sax/date.py   2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/sax/date.py   2021-10-26 14:31:46.000000000 
+0200
@@ -67,7 +67,7 @@
             self.value = value.date()
         elif isinstance(value, datetime.date):
             self.value = value
-        elif isinstance(value, basestring):
+        elif isinstance(value, str):
             self.value = self.__parse(value)
         else:
             raise ValueError("invalid type for Date(): %s" % type(value))
@@ -117,7 +117,7 @@
         """
         if isinstance(value, datetime.datetime):
             self.value = value
-        elif isinstance(value, basestring):
+        elif isinstance(value, str):
             self.value = self.__parse(value)
         else:
             raise ValueError("invalid type for DateTime(): %s" % type(value))
@@ -175,7 +175,7 @@
         """
         if isinstance(value, datetime.time):
             self.value = value
-        elif isinstance(value, basestring):
+        elif isinstance(value, str):
             self.value = self.__parse(value)
         else:
             raise ValueError("invalid type for Time(): %s" % type(value))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/sax/document.py 
new/suds-community-1.0.0/suds/sax/document.py
--- old/suds-community-0.8.5/suds/sax/document.py       2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/sax/document.py       2021-10-26 
14:31:46.000000000 +0200
@@ -52,7 +52,7 @@
             the document root element.
         @type node: (L{Element}|str|None)
         """
-        if isinstance(node, basestring):
+        if isinstance(node, str):
             self.__root = Element(node)
             return
         if isinstance(node, Element):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/sax/element.py 
new/suds-community-1.0.0/suds/sax/element.py
--- old/suds-community-0.8.5/suds/sax/element.py        2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/sax/element.py        2021-10-26 
14:31:46.000000000 +0200
@@ -170,7 +170,7 @@
             root.append(a.clone(self))
         for c in self.children:
             root.append(c.clone(self))
-        for ns in self.nsprefixes.items():
+        for ns in list(self.nsprefixes.items()):
             root.addPrefix(ns[0], ns[1])
         return root
 
@@ -621,10 +621,10 @@
         @rtype: basestring
 
         """
-        for item in self.nsprefixes.items():
+        for item in list(self.nsprefixes.items()):
             if item[1] == uri:
                 return item[0]
-        for item in self.specialprefixes.items():
+        for item in list(self.specialprefixes.items()):
             if item[1] == uri:
                 return item[0]
         if self.parent is not None:
@@ -647,11 +647,11 @@
 
         """
         result = []
-        for item in self.nsprefixes.items():
+        for item in list(self.nsprefixes.items()):
             if self.matcher[match](item[1], uri):
                 prefix = item[0]
                 result.append(prefix)
-        for item in self.specialprefixes.items():
+        for item in list(self.specialprefixes.items()):
             if self.matcher[match](item[1], uri):
                 prefix = item[0]
                 result.append(prefix)
@@ -675,7 +675,7 @@
             c.promotePrefixes()
         if self.parent is None:
             return
-        for p, u in self.nsprefixes.items():
+        for p, u in list(self.nsprefixes.items()):
             if p in self.parent.nsprefixes:
                 pu = self.parent.nsprefixes[p]
                 if pu == u:
@@ -806,7 +806,7 @@
         result.append("%s<%s" % (tab, self.qname()))
         result.append(self.nsdeclarations())
         for a in self.attributes:
-            result.append(" %s" % (unicode(a),))
+            result.append(" %s" % (str(a),))
         if self.isempty():
             result.append("/>")
             return "".join(result)
@@ -831,7 +831,7 @@
         """
         result = ["<%s" % (self.qname(),), self.nsdeclarations()]
         for a in self.attributes:
-            result.append(" %s" % (unicode(a),))
+            result.append(" %s" % (str(a),))
         if self.isempty():
             result.append("/>")
             return "".join(result)
@@ -861,7 +861,7 @@
         if myns[1] != pns[1]:
             if self.expns is not None:
                 s.append(' xmlns="%s"' % (self.expns,))
-        for item in self.nsprefixes.items():
+        for item in list(self.nsprefixes.items()):
             p, u = item
             if self.parent is not None:
                 ns = self.parent.resolvePrefix(p)
@@ -965,13 +965,13 @@
         return len(self.children)
 
     def __getitem__(self, index):
-        if isinstance(index, basestring):
+        if isinstance(index, str):
             return self.get(index)
         if index < len(self.children):
             return self.children[index]
 
     def __setitem__(self, index, value):
-        if isinstance(index, basestring):
+        if isinstance(index, str):
             self.set(index, value)
         else:
             if index < len(self.children) and isinstance(value, Element):
@@ -1011,7 +1011,7 @@
         self.pos = 0
         self.children = parent.children
 
-    def next(self):
+    def __next__(self):
         """
         Get the next child.
 
@@ -1093,7 +1093,7 @@
 
         """
         s = set()
-        for ns in n.nsprefixes.items():
+        for ns in list(n.nsprefixes.items()):
             if self.permit(ns):
                 s.add(ns[1])
         return s
@@ -1173,7 +1173,7 @@
         for n in self.branch:
             n.nsprefixes = {}
         n = self.node
-        for u, p in self.prefixes.items():
+        for u, p in list(self.prefixes.items()):
             n.addPrefix(p, u)
 
     def permit(self, ns):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/sax/enc.py 
new/suds-community-1.0.0/suds/sax/enc.py
--- old/suds-community-0.8.5/suds/sax/enc.py    2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/sax/enc.py    2021-10-26 14:31:46.000000000 
+0200
@@ -58,7 +58,7 @@
         @rtype: str
 
         """
-        if isinstance(s, basestring) and self.__needs_encoding(s):
+        if isinstance(s, str) and self.__needs_encoding(s):
             for x in self.encodings:
                 s = re.sub(x[0], x[1], s)
         return s
@@ -73,7 +73,7 @@
         @rtype: str
 
         """
-        if isinstance(s, basestring) and "&" in s:
+        if isinstance(s, str) and "&" in s:
             for x in self.decodings:
                 s = s.replace(x[0], x[1])
         return s
@@ -88,7 +88,7 @@
         @rtype: boolean
 
         """
-        if isinstance(s, basestring):
+        if isinstance(s, str):
             for c in self.special:
                 if c in s:
                     return True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/sax/parser.py 
new/suds-community-1.0.0/suds/sax/parser.py
--- old/suds-community-0.8.5/suds/sax/parser.py 2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/sax/parser.py 2021-10-26 14:31:46.000000000 
+0200
@@ -46,10 +46,10 @@
 
     def startElement(self, name, attrs):
         top = self.top()
-        node = Element(unicode(name))
+        node = Element(str(name))
         for a in attrs.getNames():
-            n = unicode(a)
-            v = unicode(attrs.getValue(a))
+            n = str(a)
+            v = str(attrs.getValue(a))
             attribute = Attribute(n, v)
             if self.mapPrefix(node, attribute):
                 continue
@@ -61,27 +61,27 @@
     def mapPrefix(self, node, attribute):
         if attribute.name == "xmlns":
             if len(attribute.value):
-                node.expns = unicode(attribute.value)
+                node.expns = str(attribute.value)
             return True
         if attribute.prefix == "xmlns":
             prefix = attribute.name
-            node.nsprefixes[prefix] = unicode(attribute.value)
+            node.nsprefixes[prefix] = str(attribute.value)
             return True
         return False
 
     def endElement(self, name):
-        name = unicode(name)
+        name = str(name)
         current = self.pop()
         if name != current.qname():
             raise Exception("malformed document")
         if current.charbuffer:
-            current.text = Text(u"".join(current.charbuffer))
+            current.text = Text("".join(current.charbuffer))
         del current.charbuffer
         if current:
             current.trim()
 
     def characters(self, content):
-        text = unicode(content)
+        text = str(content)
         node = self.top()
         node.charbuffer.append(text)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/sax/text.py 
new/suds-community-1.0.0/suds/sax/text.py
--- old/suds-community-0.8.5/suds/sax/text.py   2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/sax/text.py   2021-10-26 14:31:46.000000000 
+0200
@@ -22,7 +22,7 @@
 from suds.sax import *
 
 
-class Text(unicode):
+class Text(str):
     """
     An XML text object used to represent text content.
     @ivar lang: The (optional) language flag.
@@ -75,7 +75,7 @@
         return Text(post, lang=self.lang, escaped=self.escaped)
 
     def __add__(self, other):
-        joined = u''.join((self, other))
+        joined = ''.join((self, other))
         result = Text(joined, lang=self.lang, escaped=self.escaped)
         if isinstance(other, Text):
             result.escaped = self.escaped or other.escaped
@@ -112,5 +112,5 @@
         return self
 
     def __add__(self, other):
-        joined = u''.join((self, other))
+        joined = ''.join((self, other))
         return Raw(joined, lang=self.lang)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/servicedefinition.py 
new/suds-community-1.0.0/suds/servicedefinition.py
--- old/suds-community-0.8.5/suds/servicedefinition.py  2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/servicedefinition.py  2021-10-26 
14:31:46.000000000 +0200
@@ -83,7 +83,7 @@
         timer.start()
         for port in self.service.ports:
             p = self.findport(port)
-            for op in port.binding.operations.values():
+            for op in list(port.binding.operations.values()):
                 m = p[0].method(op.name)
                 binding = m.binding.input
                 method = (m.name, binding.param_defs(m))
@@ -144,7 +144,7 @@
 
     def publictypes(self):
         """Get all public types."""
-        for t in self.wsdl.schema.types.values():
+        for t in list(self.wsdl.schema.types.values()):
             if t in self.params: continue
             if t in self.types: continue
             item = (t, t)
@@ -158,7 +158,7 @@
         WSDL document.
         """
         used = [ns[0] for ns in self.prefixes]
-        used += [ns[0] for ns in self.wsdl.root.nsprefixes.items()]
+        used += [ns[0] for ns in list(self.wsdl.root.nsprefixes.items())]
         for n in range(0,1024):
             p = 'ns%d'%n
             if p not in used:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/serviceproxy.py 
new/suds-community-1.0.0/suds/serviceproxy.py
--- old/suds-community-0.8.5/suds/serviceproxy.py       2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/serviceproxy.py       2021-10-26 
14:31:46.000000000 +0200
@@ -70,7 +70,7 @@
         return self.__client__.factory.create(name)
 
     def __unicode__(self):
-        return unicode(self.__client__)
+        return str(self.__client__)
 
     def __getattr__(self, name):
         builtin = name.startswith('__') and name.endswith('__')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/store.py 
new/suds-community-1.0.0/suds/store.py
--- old/suds-community-0.8.5/suds/store.py      2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/store.py      2021-10-26 14:31:46.000000000 
+0200
@@ -566,7 +566,7 @@
         protocol, location = self.__split(url)
         content = self.__find(location)
         if protocol == 'suds' and content is None:
-            raise Exception, 'location "%s" not in document store' % location
+            raise Exception('location "%s" not in document store' % location)
         return content
 
     def __find(self, location):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/sudsobject.py 
new/suds-community-1.0.0/suds/sudsobject.py
--- old/suds-community-0.8.5/suds/sudsobject.py 2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/sudsobject.py 2021-10-26 14:31:46.000000000 
+0200
@@ -121,7 +121,7 @@
             inst = subclass()
         else:
             inst = Object()
-        for a in dict.items():
+        for a in list(dict.items()):
             setattr(inst, a[0], a[1])
         return inst
 
@@ -156,7 +156,7 @@
                 self.__keylist__.remove(name)
         except Exception:
             cls = self.__class__.__name__
-            raise AttributeError, "%s has no attribute '%s'" % (cls, name)
+            raise AttributeError("%s has no attribute '%s'" % (cls, name))
 
     def __getitem__(self, name):
         if isinstance(name, int):
@@ -189,7 +189,7 @@
         self.keylist = self.__keylist(sobject)
         self.index = 0
 
-    def next(self):
+    def __next__(self):
         keylist = self.keylist
         nkeys = len(self.keylist)
         while self.index < nkeys:
@@ -278,7 +278,7 @@
             if len(object) == 0:
                 return "<empty>"
             return self.print_collection(object, h, n + 2)
-        if isinstance(object, basestring):
+        if isinstance(object, str):
             return '"%s"' % (tostr(object),)
         return "%s" % (tostr(object),)
 
@@ -333,7 +333,7 @@
             s.append("\n")
             s.append(self.indent(n))
         s.append("{")
-        for item in d.items():
+        for item in list(d.items()):
             s.append("\n")
             s.append(self.indent(n+1))
             if isinstance(item[1], (list,tuple)):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/transport/__init__.py 
new/suds-community-1.0.0/suds/transport/__init__.py
--- old/suds-community-0.8.5/suds/transport/__init__.py 2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/transport/__init__.py 2021-10-26 
14:31:46.000000000 +0200
@@ -68,11 +68,11 @@
         self.timeout = timeout
 
     def __unicode__(self):
-        result = [u"URL: %s\nHEADERS: %s" % (self.url, self.headers)]
+        result = ["URL: %s\nHEADERS: %s" % (self.url, self.headers)]
         if self.message is not None:
-            result.append(u"MESSAGE:")
+            result.append("MESSAGE:")
             result.append(self.message.decode("raw_unicode_escape"))
-        return u"\n".join(result)
+        return "\n".join(result)
 
     def __set_URL(self, url):
         """
@@ -120,7 +120,7 @@
         self.message = message
 
     def __unicode__(self):
-        return u"""\
+        return """\
 CODE: %s
 HEADERS: %s
 MESSAGE:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/transport/http.py 
new/suds-community-1.0.0/suds/transport/http.py
--- old/suds-community-0.8.5/suds/transport/http.py     2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/transport/http.py     2021-10-26 
14:31:46.000000000 +0200
@@ -22,11 +22,11 @@
 from suds.transport import *
 
 import base64
-from cookielib import CookieJar
-import httplib
+from http.cookiejar import CookieJar
+import http.client
 import socket
 import sys
-import urllib2
+import urllib.request, urllib.error, urllib.parse
 import gzip
 import zlib
 
@@ -64,10 +64,10 @@
             url = self.__get_request_url_for_urllib(request)
             headers = request.headers
             log.debug('opening (%s)', url)
-            u2request = urllib2.Request(url, headers=headers)
+            u2request = urllib.request.Request(url, headers=headers)
             self.proxy = self.options.proxy
             return self.u2open(u2request)
-        except urllib2.HTTPError as e:
+        except urllib.error.HTTPError as e:
             raise TransportError(str(e), e.code, e.fp)
 
     def send(self, request):
@@ -81,7 +81,7 @@
             elif encoding == 'deflate':
                 msg = zlib.compress(msg)
         try:
-            u2request = urllib2.Request(url, msg, headers)
+            u2request = urllib.request.Request(url, msg, headers)
             self.addcookies(u2request)
             self.proxy = self.options.proxy
             request.headers.update(u2request.headers)
@@ -98,11 +98,11 @@
                     message = gzip.decompress(message)
                 elif encoding == 'deflate':
                     message = zlib.decompress(message)
-            reply = Reply(httplib.OK, headers, message)
+            reply = Reply(http.client.OK, headers, message)
             log.debug('received:\n%s', reply)
             return reply
-        except urllib2.HTTPError as e:
-            if e.code not in (httplib.ACCEPTED, httplib.NO_CONTENT):
+        except urllib.error.HTTPError as e:
+            if e.code not in (http.client.ACCEPTED, http.client.NO_CONTENT):
                 raise TransportError(e.msg, e.code, e.fp)
 
     def addcookies(self, u2request):
@@ -137,9 +137,6 @@
         """
         tm = timeout or self.options.timeout
         url = self.u2opener()
-        if (sys.version_info < (3, 0)) and (self.u2ver() < 2.6):
-            socket.setdefaulttimeout(tm)
-            return url.open(u2request)
         return url.open(u2request, timeout=tm)
 
     def u2opener(self):
@@ -151,7 +148,7 @@
 
         """
         if self.urlopener is None:
-            return urllib2.build_opener(*self.u2handlers())
+            return urllib.request.build_opener(*self.u2handlers())
         return self.urlopener
 
     def u2handlers(self):
@@ -162,7 +159,7 @@
         @rtype: [Handler,...]
 
         """
-        return [urllib2.ProxyHandler(self.proxy)]
+        return [urllib.request.ProxyHandler(self.proxy)]
 
     def u2ver(self):
         """
@@ -173,10 +170,8 @@
 
         """
         try:
-            part = urllib2.__version__.split('.', 1)
-            return float('.'.join(part))
+            return float('%d.%d' % sys.version_info[:2])
         except Exception as e:
-            log.exception(e)
             return 0
 
     def __deepcopy__(self, memo={}):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/transport/https.py 
new/suds-community-1.0.0/suds/transport/https.py
--- old/suds-community-0.8.5/suds/transport/https.py    2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/transport/https.py    2021-10-26 
14:31:46.000000000 +0200
@@ -21,7 +21,7 @@
 from suds.transport import *
 from suds.transport.http import HttpTransport
 
-import urllib2
+import urllib.request, urllib.error, urllib.parse
 
 
 class HttpAuthenticated(HttpTransport):
@@ -55,7 +55,7 @@
 
         """
         HttpTransport.__init__(self, **kwargs)
-        self.pm = urllib2.HTTPPasswordMgrWithDefaultRealm()
+        self.pm = urllib.request.HTTPPasswordMgrWithDefaultRealm()
 
     def open(self, request):
         self.addcredentials(request)
@@ -77,7 +77,7 @@
 
     def u2handlers(self):
         handlers = HttpTransport.u2handlers(self)
-        handlers.append(urllib2.HTTPBasicAuthHandler(self.pm))
+        handlers.append(urllib.request.HTTPBasicAuthHandler(self.pm))
         return handlers
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/transport/options.py 
new/suds-community-1.0.0/suds/transport/options.py
--- old/suds-community-0.8.5/suds/transport/options.py  2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/transport/options.py  2021-10-26 
14:31:46.000000000 +0200
@@ -53,6 +53,6 @@
             Definition('proxy', dict, {}),
             Definition('timeout', (int,float), 90),
             Definition('headers', dict, {}),
-            Definition('username', basestring, None),
-            Definition('password', basestring, None)]
+            Definition('username', str, None),
+            Definition('password', str, None)]
         Skin.__init__(self, domain, definitions, kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/umx/__init__.py 
new/suds-community-1.0.0/suds/umx/__init__.py
--- old/suds-community-0.8.5/suds/umx/__init__.py       2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/umx/__init__.py       2021-10-26 
14:31:46.000000000 +0200
@@ -40,7 +40,7 @@
         self.node = node
         self.data = None
         self.text = None
-        for k,v in kwargs.items():
+        for k,v in list(kwargs.items()):
             setattr(self, k, v)
 
     def __getattr__(self, name):
@@ -49,8 +49,7 @@
                 v = None
                 setattr(self, name, v)
             else:
-                raise AttributeError, \
-                    'Content has no attribute %s' % name
+                raise AttributeError('Content has no attribute %s' % name)
         else:
             v = self.__dict__[name]
         return v
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/umx/core.py 
new/suds-community-1.0.0/suds/umx/core.py
--- old/suds-community-0.8.5/suds/umx/core.py   2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/umx/core.py   2021-10-26 14:31:46.000000000 
+0200
@@ -95,7 +95,7 @@
                 return None
             else:
                 return Text('', lang=lang)
-        if isinstance(content.text, basestring):
+        if isinstance(content.text, str):
             return Text(content.text, lang=lang)
         else:
             return content.text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/version.py 
new/suds-community-1.0.0/suds/version.py
--- old/suds-community-0.8.5/suds/version.py    2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/version.py    2021-10-26 14:31:46.000000000 
+0200
@@ -22,5 +22,5 @@
 
 """
 
-__version__ = "0.8.5"
+__version__ = "1.0.0"
 __build__ = ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/wsdl.py 
new/suds-community-1.0.0/suds/wsdl.py
--- old/suds-community-0.8.5/suds/wsdl.py       2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/wsdl.py       2021-10-26 14:31:46.000000000 
+0200
@@ -32,8 +32,8 @@
 from suds.xsd.schema import Schema, SchemaCollection
 
 import re
-import soaparray
-from urlparse import urljoin
+from . import soaparray
+from urllib.parse import urljoin
 
 from logging import getLogger
 log = getLogger(__name__)
@@ -267,7 +267,7 @@
         for p in service.ports:
             binding = p.binding
             ptype = p.binding.type
-            operations = p.binding.type.operations.values()
+            operations = list(p.binding.type.operations.values())
             for name in (op.name for op in operations):
                 m = Facade("Method")
                 m.name = name
@@ -283,8 +283,8 @@
 
     def set_wrapped(self):
         """Set (wrapped|bare) flag on messages."""
-        for b in self.bindings.values():
-            for op in b.operations.values():
+        for b in list(self.bindings.values()):
+            for op in list(b.operations.values()):
                 for body in (op.soap.input.body, op.soap.output.body):
                     body.wrapped = False
                     if not self.options.unwrap:
@@ -528,7 +528,7 @@
         @type definitions: L{Definitions}
 
         """
-        for op in self.operations.values():
+        for op in list(self.operations.values()):
             if op.input is None:
                 op.input = Message(Element("no-input"), definitions)
             else:
@@ -704,7 +704,7 @@
 
         """
         self.__resolveport(definitions)
-        for op in self.operations.values():
+        for op in list(self.operations.values()):
             self.__resolvesoapbody(definitions, op)
             self.__resolveheaders(definitions, op)
             self.__resolvefaults(definitions, op)
@@ -932,7 +932,7 @@
 
         """
         for p in self.ports:
-            for m in p.methods.values():
+            for m in list(p.methods.values()):
                 if names is None or m.name in names:
                     m.location = url
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/xsd/__init__.py 
new/suds-community-1.0.0/suds/xsd/__init__.py
--- old/suds-community-0.8.5/suds/xsd/__init__.py       2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/xsd/__init__.py       2021-10-26 
14:31:46.000000000 +0200
@@ -59,8 +59,8 @@
     return (\
         isinstance(object, tuple) and \
         len(object) == 2 and \
-        isinstance(object[0], basestring) and \
-        isinstance(object[1], basestring))
+        isinstance(object[0], str) and \
+        isinstance(object[1], str))
 
 
 class Filter:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/xsd/depsort.py 
new/suds-community-1.0.0/suds/xsd/depsort.py
--- old/suds-community-0.8.5/suds/xsd/depsort.py        2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/xsd/depsort.py        2021-10-26 
14:31:46.000000000 +0200
@@ -52,7 +52,7 @@
     """
     sorted = []
     processed = set()
-    for key, deps in dependency_tree.iteritems():
+    for key, deps in dependency_tree.items():
         _sort_r(sorted, processed, key, deps, dependency_tree)
     return sorted
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/xsd/query.py 
new/suds-community-1.0.0/suds/xsd/query.py
--- old/suds-community-0.8.5/suds/xsd/query.py  2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/xsd/query.py  2021-10-26 14:31:46.000000000 
+0200
@@ -54,7 +54,7 @@
         @return: The item matching the search criteria.
         @rtype: L{sxbase.SchemaObject}
         """
-        raise Exception, 'not-implemented by subclass'
+        raise Exception('not-implemented by subclass')
 
     def filter(self, result):
         """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/xsd/schema.py 
new/suds-community-1.0.0/suds/xsd/schema.py
--- old/suds-community-0.8.5/suds/xsd/schema.py 2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/xsd/schema.py 2021-10-26 14:31:46.000000000 
+0200
@@ -116,7 +116,7 @@
         @rtype: L{SchemaCollection}
 
         """
-        namespaces = self.namespaces.keys()
+        namespaces = list(self.namespaces.keys())
         for s in self.children:
             for ns in namespaces:
                 tns = s.root.get("targetNamespace")
@@ -307,27 +307,27 @@
         @rtype: L{Schema}
 
         """
-        for item in schema.attributes.items():
+        for item in list(schema.attributes.items()):
             if item[0] in self.attributes:
                 continue
             self.all.append(item[1])
             self.attributes[item[0]] = item[1]
-        for item in schema.elements.items():
+        for item in list(schema.elements.items()):
             if item[0] in self.elements:
                 continue
             self.all.append(item[1])
             self.elements[item[0]] = item[1]
-        for item in schema.types.items():
+        for item in list(schema.types.items()):
             if item[0] in self.types:
                 continue
             self.all.append(item[1])
             self.types[item[0]] = item[1]
-        for item in schema.groups.items():
+        for item in list(schema.groups.items()):
             if item[0] in self.groups:
                 continue
             self.all.append(item[1])
             self.groups[item[0]] = item[1]
-        for item in schema.agrps.items():
+        for item in list(schema.agrps.items()):
             if item[0] in self.agrps:
                 continue
             self.all.append(item[1])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/xsd/sxbase.py 
new/suds-community-1.0.0/suds/xsd/sxbase.py
--- old/suds-community-0.8.5/suds/xsd/sxbase.py 2021-05-15 21:43:51.000000000 
+0200
+++ new/suds-community-1.0.0/suds/xsd/sxbase.py 2021-10-26 14:31:46.000000000 
+0200
@@ -533,7 +533,7 @@
         return ()
 
     def __unicode__(self):
-        return unicode(self.str())
+        return str(self.str())
 
     def __repr__(self):
         s = []
@@ -596,7 +596,7 @@
             self.items = sx.rawchildren
             self.index = 0
 
-        def next(self):
+        def __next__(self):
             """
             Get the I{next} item in the frame's collection.
 
@@ -654,7 +654,7 @@
             return self.stack[-1]
         raise StopIteration()
 
-    def next(self):
+    def __next__(self):
         """
         Get the next item.
 
@@ -665,15 +665,15 @@
         """
         frame = self.top()
         while True:
-            result = frame.next()
+            result = next(frame)
             if result is None:
                 self.pop()
-                return self.next()
+                return next(self)
             if isinstance(result, Content):
                 ancestry = [f.sx for f in self.stack]
                 return result, ancestry
             self.push(result)
-            return self.next()
+            return next(self)
 
     def __iter__(self):
         return self
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/xsd/sxbasic.py 
new/suds-community-1.0.0/suds/xsd/sxbasic.py
--- old/suds-community-0.8.5/suds/xsd/sxbasic.py        2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/xsd/sxbasic.py        2021-10-26 
14:31:46.000000000 +0200
@@ -23,7 +23,7 @@
 from suds.xsd.query import *
 from suds.xsd.sxbase import *
 
-from urlparse import urljoin
+from urllib.parse import urljoin
 
 from logging import getLogger
 log = getLogger(__name__)
@@ -668,7 +668,7 @@
             root.set(TNS, tns)
         else:
             if self.schema.tns[1] != tns:
-                raise Exception, "%s mismatch" % TNS
+                raise Exception("%s mismatch" % TNS)
 
     def description(self):
         return "location"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/suds-community-0.8.5/suds/xsd/sxbuiltin.py 
new/suds-community-1.0.0/suds/xsd/sxbuiltin.py
--- old/suds-community-0.8.5/suds/xsd/sxbuiltin.py      2021-05-15 
21:43:51.000000000 +0200
+++ new/suds-community-1.0.0/suds/xsd/sxbuiltin.py      2021-10-26 
14:31:46.000000000 +0200
@@ -51,7 +51,7 @@
     @staticmethod
     def translate(value, topython=True):
         if topython:
-            if isinstance(value, basestring):
+            if isinstance(value, str):
                 return XBoolean._xml_to_python.get(value)
         else:
             if isinstance(value, (bool, int)):
@@ -65,7 +65,7 @@
     @staticmethod
     def translate(value, topython=True):
         if topython:
-            if isinstance(value, basestring) and value:
+            if isinstance(value, str) and value:
                 return Date(value).value
         else:
             if isinstance(value, datetime.date):
@@ -79,7 +79,7 @@
     @staticmethod
     def translate(value, topython=True):
         if topython:
-            if isinstance(value, basestring) and value:
+            if isinstance(value, str) and value:
                 return DateTime(value).value
         else:
             if isinstance(value, datetime.datetime):
@@ -194,7 +194,7 @@
     @classmethod
     def translate(cls, value, topython=True):
         if topython:
-            if isinstance(value, basestring) and value:
+            if isinstance(value, str) and value:
                 return decimal.Decimal(value)
         else:
             if isinstance(value, decimal.Decimal):
@@ -208,7 +208,7 @@
     @staticmethod
     def translate(value, topython=True):
         if topython:
-            if isinstance(value, basestring) and value:
+            if isinstance(value, str) and value:
                 return float(value)
         else:
             return value
@@ -220,7 +220,7 @@
     @staticmethod
     def translate(value, topython=True):
         if topython:
-            if isinstance(value, basestring) and value:
+            if isinstance(value, str) and value:
                 return int(value)
         else:
             return value
@@ -232,8 +232,8 @@
     @staticmethod
     def translate(value, topython=True):
         if topython:
-            if isinstance(value, basestring) and value:
-                return long(value)
+            if isinstance(value, str) and value:
+                return int(value)
         else:
             return value
 
@@ -249,7 +249,7 @@
     @staticmethod
     def translate(value, topython=True):
         if topython:
-            if isinstance(value, basestring) and value:
+            if isinstance(value, str) and value:
                 return Time(value).value
         else:
             if isinstance(value, datetime.time):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/suds-community-0.8.5/suds_community.egg-info/PKG-INFO 
new/suds-community-1.0.0/suds_community.egg-info/PKG-INFO
--- old/suds-community-0.8.5/suds_community.egg-info/PKG-INFO   2021-05-15 
21:44:16.000000000 +0200
+++ new/suds-community-1.0.0/suds_community.egg-info/PKG-INFO   2021-10-26 
14:31:49.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: suds-community
-Version: 0.8.5
+Version: 1.0.0
 Summary: Lightweight SOAP client (community fork)
 Home-page: https://github.com/suds-community/suds
 Author: Jeff Ortel
@@ -8,19 +8,7 @@
 Maintainer: Jurko Gospodneti??
 Maintainer-email: jurko.gospodne...@pke.hr
 License: (specified using classifiers)
-Download-URL: 
https://github.com/suds-community/suds/archive/release-0.8.5.tar.gz
-Description: 
-        ---------------------------------------
-        Lightweight SOAP client (Community fork).
-        ---------------------------------------
-        
-          Based on the original 'suds' project by Jeff Ortel (jortel at redhat
-        dot com) hosted at 'http://fedorahosted.org/suds'.
-        
-          'Suds' is a lightweight SOAP-based web service client for Python
-        licensed under LGPL (see the LICENSE.txt file included in the
-        distribution).
-        
+Download-URL: 
https://github.com/suds-community/suds/archive/release-1.0.0.tar.gz
 Keywords: SOAP,web,service,client
 Platform: (specified using classifiers)
 Classifier: Development Status :: 5 - Production/Stable
@@ -29,9 +17,8 @@
 Classifier: Natural Language :: English
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
@@ -39,4 +26,20 @@
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Topic :: Internet
 Obsoletes: suds
+Requires-Python: >=3.5
 Description-Content-Type: text/markdown
+License-File: LICENSE.txt
+
+
+---------------------------------------
+Lightweight SOAP client (Community fork).
+---------------------------------------
+
+  Based on the original 'suds' project by Jeff Ortel (jortel at redhat
+dot com) hosted at 'http://fedorahosted.org/suds'.
+
+  'Suds' is a lightweight SOAP-based web service client for Python
+licensed under LGPL (see the LICENSE.txt file included in the
+distribution).
+
+

Reply via email to