git: efb306c81c75 - main - net/py-suds-jurko: Remove obsoleted port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 03 Jun 2022 10:53:49 UTC
The branch main has been updated by sunpoet:
URL: https://cgit.FreeBSD.org/ports/commit/?id=efb306c81c7557c93e8dbefb9d8dd49a9a597974
commit efb306c81c7557c93e8dbefb9d8dd49a9a597974
Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-06-03 10:51:36 +0000
Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-06-03 10:51:36 +0000
net/py-suds-jurko: Remove obsoleted port
Use net/py-suds instead.
---
MOVED | 1 +
net/Makefile | 1 -
net/py-suds-jurko/Makefile | 43 -
net/py-suds-jurko/distinfo | 3 -
net/py-suds-jurko/files/patch-2to3 | 1952 --------------------
net/py-suds-jurko/files/patch-setup.cfg | 14 -
net/py-suds-jurko/files/patch-setup.py | 29 -
.../files/patch-tests_indirect__parametrize.py | 23 -
net/py-suds-jurko/pkg-descr | 6 -
9 files changed, 1 insertion(+), 2071 deletions(-)
diff --git a/MOVED b/MOVED
index 5ed4dc5cc56c..ababc6730fa6 100644
--- a/MOVED
+++ b/MOVED
@@ -17186,3 +17186,4 @@ net/mpich2|net/mpich|2022-05-31|Has been deprecrated for a long time and build f
net-im/jabber.el||2022-06-01|Has expired: is marked as broken: fails to build: jabber-chat.el:25:1: Error: Wrong number of arguments: (3 . 3), 2
x11-fm/Arqiver|x11-fm/arqiver|2022-06-01|Convert PORTNATE to lowercase
net/py-suds-community|net/py-suds|2022-06-03|Remove obsoleted port. Use net/py-suds instead
+net/py-suds-jurko|net/py-suds|2022-06-03|Remove obsoleted port. Use net/py-suds instead
diff --git a/net/Makefile b/net/Makefile
index 3578a8d282b2..55b0a762d639 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1139,7 +1139,6 @@
SUBDIR += py-sshuttle
SUBDIR += py-stomp.py
SUBDIR += py-suds
- SUBDIR += py-suds-jurko
SUBDIR += py-tacacs_plus
SUBDIR += py-terminado
SUBDIR += py-tofu
diff --git a/net/py-suds-jurko/Makefile b/net/py-suds-jurko/Makefile
deleted file mode 100644
index de6ac3a3463f..000000000000
--- a/net/py-suds-jurko/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# Created by: Alexander Nusov <alexander.nusov@nfvexpress.com>
-
-PORTNAME= suds-jurko
-PORTVERSION= 0.6
-PORTREVISION= 3
-CATEGORIES= net python
-MASTER_SITES= CHEESESHOP
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= sunpoet@FreeBSD.org
-COMMENT= Lightweight SOAP client (Jurko's fork)
-
-LICENSE= LGPL3
-LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-
-TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR}
-
-USES= dos2unix python:3.6+ tar:bz2
-USE_PYTHON= autoplist concurrent distutils
-
-NO_ARCH= yes
-
-# lambda: foo needed due to wanting to exclude parametrized tests
-# https://github.com/pytest-dev/pytest/issues/5881
-# https://github.com/pytest-dev/pytest/issues/6177
-#
-# Must call tests from the build/ dir because the source dir
-# hasn't been processed by 2to3, so tests fail to start on Python 3
-#
-# Must call the tests from build/lib/suds/tests because
-# Defining 'pytest_plugins' in a non-top-level conftest is no longer supported
-# https://docs.pytest.org/en/latest/deprecations.html#pytest-plugins-in-non-top-level-conftest-files
-
-do-test:
- cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest -v -rs -o addopts= \
- -k "not test_document_literal_request_for_single_element_input \
- and not (lambda: locals)()()['test_binding_uses_argument_parsing[binding_style1]'] \
- and not (lambda: locals)()()['test_choice_containing_an_empty_sequence[test_args_required0]'] \
- and not (lambda: locals)()()['test_choice_explicitly_marked_as_optional[choice0]'] \
- and not test_sending_unicode_data" \
- build/lib/tests
-
-.include <bsd.port.mk>
diff --git a/net/py-suds-jurko/distinfo b/net/py-suds-jurko/distinfo
deleted file mode 100644
index 0a74db41156a..000000000000
--- a/net/py-suds-jurko/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1481385855
-SHA256 (suds-jurko-0.6.tar.bz2) = 29edb72fd21e3044093d86f33c66cf847c5aaab26d64cb90e69e528ef014e57f
-SIZE (suds-jurko-0.6.tar.bz2) = 143985
diff --git a/net/py-suds-jurko/files/patch-2to3 b/net/py-suds-jurko/files/patch-2to3
deleted file mode 100644
index d220b27c4300..000000000000
--- a/net/py-suds-jurko/files/patch-2to3
+++ /dev/null
@@ -1,1952 +0,0 @@
---- suds/bindings/binding.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/bindings/binding.py
-@@ -88,7 +88,7 @@ class Binding:
- @return: A collection of parameter definitions
- @rtype: [I{pdef},..]
- """
-- raise Exception, 'not implemented'
-+ raise Exception('not implemented')
-
- def get_message(self, method, args, kwargs):
- """
-@@ -286,7 +286,7 @@ class Binding:
- @return: The XML content for the <body/>
- @rtype: [L{Element},..]
- """
-- raise Exception, 'not implemented'
-+ raise Exception('not implemented')
-
- def headercontent(self, method):
- """
-@@ -339,7 +339,7 @@ class Binding:
- @return: The body content.
- @rtype: [L{Element},...]
- """
-- raise Exception, 'not implemented'
-+ raise Exception('not implemented')
-
- def body(self, content):
- """
---- suds/client.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/client.py
-@@ -37,12 +37,12 @@ from suds.transport import TransportError, Request
- from suds.transport.https import HttpAuthenticated
- 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
--from urlparse import urlparse
-+import http.client
-+from urllib.parse import urlparse
-
- from logging import getLogger
- log = getLogger(__name__)
-@@ -181,7 +181,7 @@ class Client(UnicodeMixin):
- 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)
-
-
-@@ -223,7 +223,7 @@ class Factory:
- 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()
-@@ -312,20 +312,20 @@ class ServiceSelector:
- """
- service = None
- if not len(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):
-@@ -413,13 +413,13 @@ class PortSelector:
- """
- port = None
- if not len(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:
-@@ -427,7 +427,7 @@ class PortSelector:
- 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)
-
-@@ -488,7 +488,7 @@ class MethodSelector:
- 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)
-
-
-@@ -519,10 +519,10 @@ class Method:
- 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 """
-@@ -613,7 +613,7 @@ class SoapClient:
- reply = self.options.transport.send(request)
- timer.stop()
- metrics.log.debug('waited %s on server reply', timer)
-- except TransportError, e:
-+ except TransportError as e:
- content = e.fp and e.fp.read() or ''
- return self.process_reply(reply=content, status=e.httpcode,
- description=tostr(e), original_soapenv=original_soapenv)
-@@ -623,12 +623,12 @@ class SoapClient:
- def process_reply(self, reply, status=None, description=None,
- original_soapenv=None):
- if status is None:
-- status = httplib.OK
-- if status in (httplib.ACCEPTED, httplib.NO_CONTENT):
-+ status = http.client.OK
-+ if status in (http.client.ACCEPTED, http.client.NO_CONTENT):
- return
- failed = True
- try:
-- if status == httplib.OK:
-+ if status == http.client.OK:
- log.debug('HTTP succeeded:\n%s', reply)
- else:
- log.debug('HTTP failed - %d - %s:\n%s', status, description,
-@@ -657,19 +657,19 @@ class SoapClient:
- # 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.warn("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.
-@@ -688,7 +688,7 @@ class SoapClient:
- failed = False
- if self.options.faults:
- return result
-- return (httplib.OK, result)
-+ return (http.client.OK, result)
- finally:
- if failed and original_soapenv:
- log.error(original_soapenv)
-@@ -717,7 +717,7 @@ class SoapClient:
- @rtype: dict
- """
- action = self.method.soap.action
-- if isinstance(action, unicode):
-+ if isinstance(action, str):
- action = action.encode('utf-8')
- stock = {'Content-Type':'text/xml; charset=utf-8', 'SOAPAction':action}
- result = dict(stock, **self.options.headers)
-@@ -742,7 +742,7 @@ class SimClient(SoapClient):
- @classmethod
- def simulation(cls, kwargs):
- """ get whether loopback has been specified in the I{kwargs}. """
-- return kwargs.has_key(SimClient.injkey)
-+ return SimClient.injkey in kwargs
-
- def invoke(self, args, kwargs):
- """
---- suds/mx/__init__.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/mx/__init__.py
-@@ -43,7 +43,7 @@ class Content(Object):
- Object.__init__(self)
- self.tag = tag
- self.value = value
-- for k,v in kwargs.items():
-+ for k,v in list(kwargs.items()):
- setattr(self, k, v)
-
- def __getattr__(self, name):
-@@ -52,8 +52,7 @@ class Content(Object):
- 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
---- suds/mx/literal.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/mx/literal.py
-@@ -131,9 +131,8 @@ class Typed(Core):
- if current == content.type:
- self.resolver.pop()
- else:
-- raise Exception, \
-- 'content (end) mismatch: top=(%s) cont=(%s)' % \
-- (current, content)
-+ raise Exception('content (end) mismatch: top=(%s) cont=(%s)' % \
-+ (current, content))
-
- def node(self, content):
- #
---- suds/plugin.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/plugin.py
-@@ -205,7 +205,7 @@ class PluginContainer:
- plugins.append(p)
- return PluginDomain(ctx, plugins)
- else:
-- raise Exception, 'plugin domain (%s), invalid' % name
-+ raise Exception('plugin domain (%s), invalid' % name)
-
-
- class PluginDomain:
-@@ -252,6 +252,6 @@ class Method:
- method = getattr(plugin, self.name, None)
- if method and callable(method):
- method(ctx)
-- except Exception, pe:
-+ except Exception as pe:
- log.exception(pe)
- return ctx
---- suds/properties.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/properties.py
-@@ -67,23 +67,23 @@ class Link(object):
- """
- 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 @@ class Definition:
- 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 @@ class Properties:
- """
- 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 @@ class Properties:
- 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 @@ class Properties:
- @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 @@ class Properties:
- 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)
---- suds/servicedefinition.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/servicedefinition.py
-@@ -80,7 +80,7 @@ class ServiceDefinition(UnicodeMixin):
- 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))
-@@ -138,7 +138,7 @@ class ServiceDefinition(UnicodeMixin):
-
- 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)
-@@ -152,7 +152,7 @@ class ServiceDefinition(UnicodeMixin):
- 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:
-@@ -235,6 +235,6 @@ class ServiceDefinition(UnicodeMixin):
- def __unicode__(self):
- try:
- return self.description()
-- except Exception, e:
-+ except Exception as e:
- log.exception(e)
- return tostr(e)
---- suds/store.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/store.py
-@@ -566,7 +566,7 @@ class DocumentStore:
- 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):
---- suds/sudsobject.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/sudsobject.py
-@@ -110,7 +110,7 @@ class Factory:
- inst = subclass()
- else:
- inst = Object()
-- for a in dict.items():
-+ for a in list(dict.items()):
- setattr(inst, a[0], a[1])
- return inst
-
-@@ -146,7 +146,7 @@ class Object(UnicodeMixin):
- self.__keylist__.remove(name)
- except:
- 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):
-@@ -179,7 +179,7 @@ class Iter:
- 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:
-@@ -271,7 +271,7 @@ class Printer:
- 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)
-
-@@ -325,7 +325,7 @@ class Printer:
- 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)):
---- suds/transport/http.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/transport/http.py
-@@ -22,12 +22,12 @@ from suds.properties import Unskin
- 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
--from urlparse import urlparse
-+import urllib.request, urllib.error, urllib.parse
-+from urllib.parse import urlparse
-
- from logging import getLogger
- log = getLogger(__name__)
-@@ -62,10 +62,10 @@ class HttpTransport(Transport):
- try:
- url = self.__get_request_url(request)
- log.debug('opening (%s)', url)
-- u2request = urllib2.Request(url)
-+ u2request = urllib.request.Request(url)
- self.proxy = self.options.proxy
- return self.u2open(u2request)
-- except urllib2.HTTPError, e:
-+ except urllib.error.HTTPError as e:
- raise TransportError(str(e), e.code, e.fp)
-
- def send(self, request):
-@@ -74,7 +74,7 @@ class HttpTransport(Transport):
- msg = request.message
- headers = request.headers
- 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)
-@@ -85,10 +85,10 @@ class HttpTransport(Transport):
- headers = fp.headers.dict
- else:
- headers = fp.headers
-- result = Reply(httplib.OK, headers, fp.read())
-+ result = Reply(http.client.OK, headers, fp.read())
- log.debug('received:\n%s', result)
-- except urllib2.HTTPError, e:
-- if e.code in (httplib.ACCEPTED, httplib.NO_CONTENT):
-+ except urllib.error.HTTPError as e:
-+ if e.code in (http.client.ACCEPTED, http.client.NO_CONTENT):
- result = None
- else:
- raise TransportError(e.msg, e.code, e.fp)
-@@ -140,7 +140,7 @@ class HttpTransport(Transport):
-
- """
- if self.urlopener is None:
-- return urllib2.build_opener(*self.u2handlers())
-+ return urllib.request.build_opener(*self.u2handlers())
- return self.urlopener
-
- def u2handlers(self):
-@@ -152,7 +152,7 @@ class HttpTransport(Transport):
-
- """
- handlers = []
-- handlers.append(urllib2.ProxyHandler(self.proxy))
-+ handlers.append(urllib.request.ProxyHandler(self.proxy))
- return handlers
-
- def u2ver(self):
-@@ -165,7 +165,7 @@ class HttpTransport(Transport):
- try:
- part = urllib2.__version__.split('.', 1)
- return float('.'.join(part))
-- except Exception, e:
-+ except Exception as e:
- log.exception(e)
- return 0
-
---- suds/umx/__init__.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/umx/__init__.py
-@@ -40,7 +40,7 @@ class Content(Object):
- 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 @@ class Content(Object):
- 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
---- suds/wsdl.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/wsdl.py
-@@ -31,8 +31,8 @@ from suds.sudsobject import Object, Facade, Metadata
- from suds.reader import DocumentReader
-
- import re
--import soaparray
--from urlparse import urljoin
-+from . import soaparray
-+from urllib.parse import urljoin
-
- from logging import getLogger
- log = getLogger(__name__)
-@@ -232,7 +232,7 @@ class Definitions(WObject):
- 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
-@@ -249,8 +249,8 @@ class Definitions(WObject):
-
- 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:
-@@ -482,7 +482,7 @@ class PortType(NamedObject):
- @param definitions: A definitions object.
- @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:
-@@ -505,7 +505,7 @@ class PortType(NamedObject):
- qref = qualify(f.message, self.root, definitions.tns)
- msg = definitions.messages.get(qref)
- if msg is None:
-- raise Exception, "msg '%s', not-found" % f.message
-+ raise Exception("msg '%s', not-found" % f.message)
- f.message = msg
-
- def operation(self, name):
-@@ -519,7 +519,7 @@ class PortType(NamedObject):
- """
- try:
- return self.operations[name]
-- except Exception, e:
-+ except Exception as e:
- raise MethodNotFound(name)
-
- def __gt__(self, other):
-@@ -654,7 +654,7 @@ class Binding(NamedObject):
- @type definitions: L{Definitions}
- """
- 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)
-@@ -683,8 +683,7 @@ class Binding(NamedObject):
- """
- ptop = self.type.operation(op.name)
- if ptop is None:
-- raise Exception, \
-- "operation '%s' not defined in portType" % op.name
-+ raise Exception("operation '%s' not defined in portType" % op.name)
- soap = op.soap
- parts = soap.input.body.parts
- if len(parts):
-@@ -720,15 +719,14 @@ class Binding(NamedObject):
- ref = qualify(mn, self.root, definitions.tns)
- message = definitions.messages.get(ref)
- if message is None:
-- raise Exception, "message'%s', not-found" % mn
-+ raise Exception("message'%s', not-found" % mn)
- pn = header.part
- for p in message.parts:
- if p.name == pn:
- header.part = p
- break
- if pn == header.part:
-- raise Exception, \
-- "message '%s' has not part named '%s'" % (ref, pn)
-+ raise Exception("message '%s' has not part named '%s'" % (ref, pn))
-
- def resolvefaults(self, definitions, op):
- """
-@@ -741,8 +739,7 @@ class Binding(NamedObject):
- """
- ptop = self.type.operation(op.name)
- if ptop is None:
-- raise Exception, \
-- "operation '%s' not defined in portType" % op.name
-+ raise Exception("operation '%s' not defined in portType" % op.name)
- soap = op.soap
- for fault in soap.faults:
- for f in ptop.faults:
-@@ -751,8 +748,7 @@ class Binding(NamedObject):
- continue
- if hasattr(fault, 'parts'):
- continue
-- raise Exception, \
-- "fault '%s' not defined in portType '%s'" % (fault.name, self.type.name)
-+ raise Exception("fault '%s' not defined in portType '%s'" % (fault.name, self.type.name))
-
- def operation(self, name):
- """
-@@ -854,7 +850,7 @@ class Service(NamedObject):
- @type names: [str,..]
- """
- 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
-
---- suds/xsd/deplist.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/xsd/deplist.py
-@@ -77,7 +77,7 @@ class DepList:
- while len(self.stack):
- try:
- top = self.top()
-- ref = top[1].next()
-+ ref = next(top[1])
- refd = self.index.get(ref)
- if refd is None:
- log.debug('"%s" not found, skipped', Repr(ref))
-@@ -137,4 +137,4 @@ if __name__ == '__main__':
- x = ('x', ())
- L = DepList()
- L.add(c, e, d, b, f, a, x)
-- print [x[0] for x in L.sort()]
-+ print([x[0] for x in L.sort()])
---- suds/xsd/query.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/xsd/query.py
-@@ -54,7 +54,7 @@ class Query(Object):
- @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):
- """
---- suds/xsd/sxbasic.py.orig 2021-09-20 17:08:56 UTC
-+++ suds/xsd/sxbasic.py
-@@ -26,7 +26,7 @@ from suds.xsd.query import *
- from suds.sax import Namespace
- from suds.transport import TransportError
- from suds.reader import DocumentReader
--from urlparse import urljoin
-+from urllib.parse import urljoin
-
- from logging import getLogger
- log = getLogger(__name__)
-@@ -667,7 +667,7 @@ class Include(SchemaObject):
- root.set(TNS, tns)
- else:
- if self.schema.tns[1] != tns:
-- raise Exception, '%s mismatch' % TNS
-+ raise Exception('%s mismatch' % TNS)
-
-
- def description(self):
---- tests/external/axis1.py.orig 2021-09-20 17:08:56 UTC
-+++ tests/external/axis1.py
-@@ -36,34 +36,34 @@ credentials = dict(username='jortel', password='abc123
- class MyInitPlugin(InitPlugin):
-
- def initialized(self, context):
-- print 'PLUGIN (init): initialized: ctx=%s' % context.__dict__
-+ print('PLUGIN (init): initialized: ctx=%s' % context.__dict__)
-
-
- class MyDocumentPlugin(DocumentPlugin):
-
- def loaded(self, context):
-- print 'PLUGIN (document): loaded: ctx=%s' % context.__dict__
-+ print('PLUGIN (document): loaded: ctx=%s' % context.__dict__)
-
- def parsed(self, context):
-- print 'PLUGIN (document): parsed: ctx=%s' % context.__dict__
-+ print('PLUGIN (document): parsed: ctx=%s' % context.__dict__)
-
-
- class MyMessagePlugin(MessagePlugin):
-
- def marshalled(self, context):
-- print 'PLUGIN (message): marshalled: ctx=%s' % context.__dict__
-+ print('PLUGIN (message): marshalled: ctx=%s' % context.__dict__)
-
- def sending(self, context):
-- print 'PLUGIN (message): sending: ctx=%s' % context.__dict__
-+ print('PLUGIN (message): sending: ctx=%s' % context.__dict__)
-
- def received(self, context):
-- print 'PLUGIN (message): received: ctx=%s' % context.__dict__
-+ print('PLUGIN (message): received: ctx=%s' % context.__dict__)
-
- def parsed(self, context):
-- print 'PLUGIN (message): parsed: ctx=%s' % context.__dict__
-+ print('PLUGIN (message): parsed: ctx=%s' % context.__dict__)
-
- def unmarshalled(self, context):
-- print 'PLUGIN: (massage): unmarshalled: ctx=%s' % context.__dict__
-+ print('PLUGIN: (massage): unmarshalled: ctx=%s' % context.__dict__)
-
-
- myplugins = (
-@@ -75,27 +75,27 @@ myplugins = (
-
- def start(url):
- global errors
-- print '\n________________________________________________________________\n'
-- print 'Test @ ( %s )\nerrors = %d\n' % (url, errors)
-+ print('\n________________________________________________________________\n')
-+ print('Test @ ( %s )\nerrors = %d\n' % (url, errors))
-
- try:
- url = 'http://localhost:8081/axis/services/basic-rpc-encoded?wsdl'
- start(url)
- t = HttpAuthenticated(**credentials)
- client = Client(url, transport=t, cache=None, plugins=myplugins)
-- print client
-+ print(client)
- #
- # create a name object using the wsdl
- #
-- print 'create name'
-+ print('create name')
- name = client.factory.create('ns0:Name')
-- name.first = u'jeff'+unichr(1234)
-+ name.first = 'jeff'+chr(1234)
- name.last = 'ortel'
-- print name
-+ print(name)
- #
- # create a phone object using the wsdl
- #
-- print 'create phone'
-+ print('create phone')
- phoneA = client.factory.create('ns0:Phone')
- phoneA.npa = 410
- phoneA.nxx = 555
-@@ -119,18 +119,18 @@ try:
- # create a person object using the wsdl
- #
- person = client.factory.create('ns0:Person')
-- print '{empty} person=\n%s' % person
-+ print('{empty} person=\n%s' % person)
- person.name = name
- person.age = 43
- person.phone = [phoneA,phoneB,phoneC]
- person.pets = [dog]
-- print 'person=\n%s' % person
-+ print('person=\n%s' % person)
- #
- # add the person (using the webservice)
- #
-- print 'addPersion()'
-+ print('addPersion()')
- result = client.service.addPerson(person)
-- print '\nreply(\n%s\n)\n' % str(result)
-+ print('\nreply(\n%s\n)\n' % str(result))
-
- #
- # Async
-@@ -159,22 +159,22 @@ try:
- ap.age = person.age
- ap.phone = person.phone
- ap.pets = person.pets
-- print 'AnotherPerson\n%s' % ap
-+ print('AnotherPerson\n%s' % ap)
- #
- # update the person's name (using the webservice)
- #
-- print 'updatePersion()'
-+ print('updatePersion()')
- result = client.service.updatePerson(ap, newname)
-- print '\nreply(\n%s\n)\n' % str(result)
-+ print('\nreply(\n%s\n)\n' % str(result))
- result = client.service.updatePerson(ap, None)
-- print '\nreply(\n%s\n)\n' % str(result)
--except WebFault, f:
-+ print('\nreply(\n%s\n)\n' % str(result))
-+except WebFault as f:
- errors += 1
-- print f
-- print f.fault
--except Exception, e:
-+ print(f)
-+ print(f.fault)
-+except Exception as e:
- errors += 1
-- print e
-+ print(e)
- tb.print_exc()
-
- try:
-@@ -182,19 +182,19 @@ try:
- start(url)
- t = HttpAuthenticated(**credentials)
- client = Client(url, transport=t, cache=None)
-- print client
-+ print(client)
- #
- # create a name object as dict
- #
-- print 'create name'
-+ print('create name')
- name = {}
- name['first'] = 'Elmer'
- name['last'] = 'Fudd'
-- print name
-+ print(name)
- #
- # create a phone as dict
- #
-- print 'create phone'
-+ print('create phone')
*** 1171 LINES SKIPPED ***