Skip to content

Commit 75b2072

Browse files
committed
Remove duplicate resolving routine.
The elements and attributes where resolved twice, once via the global variants and once via the _elm_instance elements.
1 parent 42aef07 commit 75b2072

File tree

5 files changed

+246
-50
lines changed

5 files changed

+246
-50
lines changed

src/zeep/wsdl/wsdl.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,9 @@ def parse_binding(self, doc):
351351
352352
:param doc: The source document
353353
:type doc: lxml.etree._Element
354+
:returns: Dictionary with binding name as key and Binding instance as
355+
value
356+
:rtype: dict
354357
355358
"""
356359
result = {}

src/zeep/xsd/schema.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,6 @@ def __init__(self, namespace, location, base_url):
321321
self._base_url = base_url or location
322322
self._location = location
323323
self._target_namespace = namespace
324-
self._elm_instances = []
325324
self._is_internal = False
326325

327326
self._attribute_groups = {}
@@ -386,10 +385,6 @@ def _resolve_dict(val):
386385
_resolve_dict(self._groups)
387386
_resolve_dict(self._types)
388387

389-
for element in self._elm_instances:
390-
element.resolve()
391-
self._elm_instances = []
392-
393388
def register_import(self, namespace, schema):
394389
schemas = self._imports.setdefault(namespace, [])
395390
schemas.append(schema)

src/zeep/xsd/types/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def __init__(self, qname, schema):
6868
self.schema = schema
6969

7070
def __repr__(self):
71-
return '<%s(qname=%r)>' % (self.__class__.__name__, self.qname)
71+
return '<%s(qname=%r)>' % (self.__class__.__name__, self.qname.text)
7272

7373
def render(self, parent, value, xsd_type=None, render_path=None):
7474
raise RuntimeError(

src/zeep/xsd/types/complex.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,6 @@ def resolve(self):
255255
return self._resolved
256256
self._resolved = self
257257

258-
if self._element:
259-
self._element = self._element.resolve()
260-
261258
resolved = []
262259
for attribute in self._attributes:
263260
value = attribute.resolve()
@@ -271,15 +268,13 @@ def resolve(self):
271268
if self._extension:
272269
self._extension = self._extension.resolve()
273270
self._resolved = self.extend(self._extension)
274-
return self._resolved
275-
276271
elif self._restriction:
277272
self._restriction = self._restriction.resolve()
278273
self._resolved = self.restrict(self._restriction)
279-
return self._resolved
280274

281-
else:
282-
return self._resolved
275+
if self._element:
276+
self._element = self._element.resolve()
277+
return self._resolved
283278

284279
def extend(self, base):
285280
"""Create a new complextype instance which is the current type

0 commit comments

Comments
 (0)