From 5da4157327c96e1c9edb7087e1002fb4d13e0f65 Mon Sep 17 00:00:00 2001 From: jortel Date: Tue, 30 Mar 2010 23:10:53 +0000 Subject: Provide for composite reply w/ repeating message parts. --- suds/bindings/binding.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/suds/bindings/binding.py b/suds/bindings/binding.py index a6d421e..5f9b9e4 100644 --- a/suds/bindings/binding.py +++ b/suds/bindings/binding.py @@ -206,14 +206,19 @@ class Binding: continue resolved = rt.resolve(nobuiltin=True) sobject = unmarshaller.process(node, resolved) - if rt.unbounded(): - value = getattr(composite, tag, None) - if value is None: + value = getattr(composite, tag, None) + if value is None: + if rt.unbounded(): value = [] setattr(composite, tag, value) - value.append(sobject) + value.append(sobject) + else: + setattr(composite, tag, sobject) else: - setattr(composite, tag, sobject) + if not isinstance(value, list): + value = [value,] + setattr(composite, tag, value) + value.append(sobject) return composite def get_fault(self, reply): -- cgit v1.2.1