diff --git a/SOAPpy/Client.py b/SOAPpy/Client.py index 7437049..ffdb563 100644 --- a/SOAPpy/Client.py +++ b/SOAPpy/Client.py @@ -39,11 +39,11 @@ # ################################################################################ """ +from __future__ import nested_scopes ident = '$Id: Client.py,v 1.27 2005/02/21 20:27:09 warnes Exp $' from version import __version__ -from __future__ import nested_scopes #import xml.sax import urllib @@ -125,7 +125,7 @@ class HTTPTransport: return original_namespace else: return original_namespace - + # Need a Timeout someday? def call(self, addr, data, namespace, soapaction = None, encoding = None, http_proxy = None, config = Config): @@ -164,7 +164,7 @@ class HTTPTransport: # if user is not a user:passwd format # we'll receive a failure from the server. . .I guess (??) if addr.user != None: - val = base64.encodestring(addr.user) + val = base64.encodestring(addr.user) r.putheader('Authorization','Basic ' + val.replace('\012','')) # This fixes sending either "" or "None" @@ -218,7 +218,7 @@ class HTTPTransport: message_len = int(content_length) except: message_len = -1 - + if message_len < 0: # Content-Length missing or invalid; just read the whole socket # This won't work with HTTP/1.1 chunked encoding @@ -233,7 +233,7 @@ class HTTPTransport: print "headers=", headers print "content-type=", content_type print "data=", data - + if config.dumpHeadersIn: s = 'Incoming HTTP headers' debugHeader(s) @@ -246,7 +246,7 @@ class HTTPTransport: def startswith(string, val): return string[0:len(val)] == val - + if code == 500 and not \ ( startswith(content_type, "text/xml") and message_len > 0 ): raise HTTPError(code, msg) @@ -268,7 +268,7 @@ class HTTPTransport: new_ns = None else: new_ns = self.getNS(namespace, data) - + # return response payload return data, new_ns @@ -316,10 +316,10 @@ class SOAPProxy: self.channel_mode = config.channel_mode self.delegation_mode = config.delegation_mode #end GSI Additions - + def invoke(self, method, args): return self.__call(method, args, {}) - + def __call(self, name, args, kw, ns = None, sa = None, hd = None, ma = None): @@ -334,7 +334,7 @@ class SOAPProxy: sa = self.soapaction else: sa = name - + if hd: # Get header if type(hd) == TupleType: hd = hd[0] @@ -368,7 +368,7 @@ class SOAPProxy: # # See if we have a fault handling vector installed in our # config. If we do, invoke it. If it returns a true value, - # retry the call. + # retry the call. # # In any circumstance other than the fault handler returning # true, reraise the exception. This keeps the semantics of this @@ -390,7 +390,7 @@ class SOAPProxy: encoding = self.encoding, http_proxy = self.http_proxy, config = self.config) - + p, attrs = parseSOAPRPC(r, attrs = 1) @@ -418,7 +418,7 @@ class SOAPProxy: count += 1 t = getattr(p, i) if count == 1: # Only one piece of data, bubble it up - p = t + p = t except: pass @@ -468,7 +468,7 @@ class SOAPProxy: return self.__f_call(*args, **kw) else: return self.__r_call(*args, **kw) - + def __getattr__(self, name): if name == '__del__': raise AttributeError, name diff --git a/SOAPpy/Types.py b/SOAPpy/Types.py index 6cc5456..2b4bdf1 100644 --- a/SOAPpy/Types.py +++ b/SOAPpy/Types.py @@ -32,11 +32,11 @@ # ################################################################################ """ +from __future__ import nested_scopes ident = '$Id: Types.py,v 1.19 2005/02/22 04:29:43 warnes Exp $' from version import __version__ -from __future__ import nested_scopes import UserList import base64 @@ -76,7 +76,7 @@ class anyType: else: self._ns = self._validURIs[0] self._name = name - + self._typed = typed self._attrs = {} @@ -142,7 +142,7 @@ class anyType: value = unicode(value) self._attrs[attr] = value - + def _setAttrs(self, attrs): if type(attrs) in (ListType, TupleType): @@ -1275,7 +1275,7 @@ class compoundType(anyType): retval[name] = getattr(self,name) return retval - + def __getitem__(self, item): if type(item) == IntType: return self.__dict__[self._keyord[item]] @@ -1300,7 +1300,7 @@ class compoundType(anyType): else: self.__dict__[name] = value self._keyord.append(name) - + def _placeItem(self, name, value, pos, subpos = 0, attrs = None): if subpos == 0 and type(self.__dict__[name]) != ListType: @@ -1421,10 +1421,10 @@ class arrayType(UserList.UserList, compoundType): else: retval = {} def fun(x): retval[str(x).encode(encoding)] = self.data[x] - + map( fun, range(len(self.data)) ) return retval - + def __getitem__(self, item): try: return self.data[int(item)] @@ -1589,7 +1589,7 @@ class faultType(structType, Error): __str__ = __repr__ def __call__(self): - return (self.faultcode, self.faultstring, self.detail) + return (self.faultcode, self.faultstring, self.detail) class SOAPException(Exception): def __init__(self, code="", string="", detail=None): @@ -1630,7 +1630,7 @@ class MethodFailed(Exception): def __str__(self): return repr(self.value) - + ####### # Convert complex SOAPpy objects to native python equivalents ####### @@ -1642,16 +1642,16 @@ def simplify(object, level=0): This function recursively converts the passed 'container' object, and all public subobjects. (Private subobjects have names that start with '_'.) - + Conversions: - faultType --> raise python exception - arrayType --> array - compoundType --> dictionary """ - + if level > 10: return object - + if isinstance( object, faultType ): if object.faultstring == "Required Header Misunderstood": raise RequiredHeaderMismatch(object.detail) @@ -1695,13 +1695,13 @@ def simplify_contents(object, level=0): This function recursively converts the sub-objects contained in a 'container' object to simple python types. - + Conversions: - faultType --> raise python exception - arrayType --> array - compoundType --> dictionary """ - + if level>10: return object if isinstance( object, faultType ): @@ -1709,7 +1709,7 @@ def simplify_contents(object, level=0): if isPublic(k): setattr(object, k, simplify(object[k], level=level+1)) raise object - elif isinstance( object, arrayType ): + elif isinstance( object, arrayType ): data = object._aslist() for k in range(len(data)): object[k] = simplify(data[k], level=level+1) @@ -1730,7 +1730,7 @@ def simplify_contents(object, level=0): elif type(object)==list: for k in range(len(object)): object[k] = simplify(object[k]) - + return object