diff --git a/.gitignore b/.gitignore index a902e2d..23e299d 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ dist/ setup.cfg venv/ *.pyc +.idea diff --git a/src/SOAPpy/Client.py b/src/SOAPpy/Client.py index 8dfd1e8..54c5b0f 100644 --- a/src/SOAPpy/Client.py +++ b/src/SOAPpy/Client.py @@ -48,7 +48,7 @@ from .version import __version__ #import xml.sax import urllib.request, urllib.parse, urllib.error -from .types import * +from SOAPpy.Types import * import re import base64 import socket, http.client @@ -61,7 +61,7 @@ from .Config import Config from .Parser import parseSOAPRPC from .SOAPBuilder import buildSOAP from .Utilities import * -from .types import faultType, simplify +from SOAPpy.Types import faultType, simplify import collections diff --git a/src/SOAPpy/Config.py b/src/SOAPpy/Config.py index ddf09bf..13f53c5 100644 --- a/src/SOAPpy/Config.py +++ b/src/SOAPpy/Config.py @@ -37,7 +37,7 @@ ident = '$Id: Config.py 1298 2006-11-07 00:54:15Z sanxiyn $' from .version import __version__ import socket -from .types import * +from SOAPpy.Types import * from .NS import NS diff --git a/src/SOAPpy/GSIServer.py b/src/SOAPpy/GSIServer.py index b6970f4..048927e 100644 --- a/src/SOAPpy/GSIServer.py +++ b/src/SOAPpy/GSIServer.py @@ -53,7 +53,7 @@ import re import socket import sys import socketserver -from .types import * +from SOAPpy.Types import * import http.server # SOAPpy modules diff --git a/src/SOAPpy/Parser.py b/src/SOAPpy/Parser.py index ad398dc..cc523f3 100644 --- a/src/SOAPpy/Parser.py +++ b/src/SOAPpy/Parser.py @@ -1,7 +1,7 @@ # SOAPpy modules import traceback from .Config import Config -from .types import * +from SOAPpy.Types import * from .NS import NS from .Utilities import * @@ -151,7 +151,7 @@ class SOAPParser(xml.sax.handler.ContentHandler): except: rules = None - if type(rules) not in (NoneType, DictType): + if type(rules) not in (type(None), dict): kind = rules else: kind = attrs.get((NS.ENC, 'arrayType')) @@ -376,8 +376,8 @@ class SOAPParser(xml.sax.handler.ContentHandler): if len(self._stack) == 3 and kind == None and \ len(cur) == 0 and \ - (self._data == None or string.join(self._data, "").strip() == ''): - data = structType(name = (ns, name), attrs = attrs) + (self._data is None or "".join(self._data).strip() == ''): + data = structType(name=(ns, name), attrs=attrs) break if len(cur) == 0 and ns != NS.URN: @@ -389,8 +389,7 @@ class SOAPParser(xml.sax.handler.ContentHandler): # print "attrs:", attrs # print "kind:", kind - - if kind == None: + if kind is None: # If the current item's container is an array, it will # have a kind. If so, get the bit before the first [, # which is the type of the array, therefore the type of @@ -398,35 +397,37 @@ class SOAPParser(xml.sax.handler.ContentHandler): kind = self._stack[-1].kind - if kind != None: + if kind is not None: i = kind[1].find('[') if i >= 0: kind = (kind[0], kind[1][:i]) - elif ns != None: + elif ns is not None: kind = (ns, name) - if kind != None: + if kind is not None: try: - data = self.convertType(string.join(self._data, ""), + data = self.convertType("".join(self._data), kind, attrs) except UnknownTypeError: data = None else: data = None - if data == None: - if self._data == None: + if data is None: + if self._data is None: data = '' else: - data = string.join(self._data, "") + data = "".join(self._data) if len(attrs) == 0: - try: data = str(data) - except: pass + try: + data = str(data) + except: + pass break - data = structType(name = (ns, name), attrs = attrs) + data = structType(name=(ns, name), attrs=attrs) break @@ -441,7 +442,7 @@ class SOAPParser(xml.sax.handler.ContentHandler): if root: self._stack[-1].append(name, data, attrs) - if idval != None: + if idval is not None: self._ids[idval] = data if idval in self._refs: @@ -475,7 +476,7 @@ class SOAPParser(xml.sax.handler.ContentHandler): pass def characters(self, c): - if self._data != None: + if self._data is not None: self._data.append(c) arrayre = '^(?:(?P[^:]*):)?' \ @@ -484,12 +485,12 @@ class SOAPParser(xml.sax.handler.ContentHandler): '(?:\[(?P\d+(?:,\d+)*)?\])$' def startArray(self, name, kind, attrs, elemsname): - if type(self.arrayre) == StringType: - self.arrayre = re.compile (self.arrayre) + if isinstance(self.arrayre, str): + self.arrayre = re.compile(self.arrayre) offset = attrs.get((NS.ENC, "offset")) - if offset != None: + if offset is not None: del attrs[(NS.ENC, "offset")] try: diff --git a/src/SOAPpy/SOAPBuilder.py b/src/SOAPpy/SOAPBuilder.py index 5cbc22b..dc38895 100644 --- a/src/SOAPpy/SOAPBuilder.py +++ b/src/SOAPpy/SOAPBuilder.py @@ -42,7 +42,7 @@ from wstools.XMLname import toXMLname, fromXMLname # SOAPpy modules from .Config import Config from .NS import NS -from .types import * +from SOAPpy.Types import * # Test whether this Python version has Types.BooleanType # If it doesn't have it, then False and True are serialized as integers @@ -282,7 +282,7 @@ class SOAPBuilder: ns_map = ns_map.copy() self.depth += 1 - if type(tag) not in (NoneType, StringType, UnicodeType): + if type(tag) not in (type(None), str): raise KeyError("tag must be a string or None") self.dump_dispatch(obj, tag, typed, ns_map) @@ -607,7 +607,7 @@ class SOAPBuilder: (mapType, self.dump_map), (arrayType, self.dump_list), (str, self.dump_string), - (NoneType, self.dump_None), + (type(None), self.dump_None), (bool, self.dump_bool), (int, self.dump_int), (int, self.dump_int), diff --git a/src/SOAPpy/Server.py b/src/SOAPpy/Server.py index c315e30..62d5328 100644 --- a/src/SOAPpy/Server.py +++ b/src/SOAPpy/Server.py @@ -49,14 +49,14 @@ from .version import __version__ import socket import sys import socketserver -from .types import * +from SOAPpy.Types import * import http.server import _thread # SOAPpy modules from .Parser import parseSOAPRPC from .Config import Config -from .types import faultType, voidType, simplify +from SOAPpy.Types import faultType, voidType, simplify from .NS import NS from .SOAPBuilder import buildSOAP from .Utilities import debugHeader, debugFooter diff --git a/src/SOAPpy/Types.py b/src/SOAPpy/Types.py index 1c8167c..4cd0b7d 100644 --- a/src/SOAPpy/Types.py +++ b/src/SOAPpy/Types.py @@ -45,7 +45,7 @@ import urllib.request, urllib.parse, urllib.error import copy import re import time -from .types import * +from SOAPpy.Types import * # SOAPpy modules from .Errors import * @@ -75,7 +75,7 @@ class anyType: if self.__class__ == anyType: raise Error("anyType can't be instantiated directly") - if type(name) in (ListType, TupleType): + if type(name) in (list, tuple): self._ns, self._name = name else: self._ns = self._validURIs[0] @@ -118,15 +118,15 @@ class anyType: def _fixAttr(self, attr): if type(attr) in (StringType, UnicodeType): attr = (None, attr) - elif type(attr) == ListType: + elif type(attr) == list: attr = tuple(attr) - elif type(attr) != TupleType: + elif type(attr) != tuple: raise AttributeError("invalid attribute type") if len(attr) != 2: raise AttributeError("invalid attribute length") - if type(attr[0]) not in (NoneType, StringType, UnicodeType): + if type(attr[0]) not in (type(None), str): raise AttributeError("invalid attribute namespace URI type") return attr @@ -149,13 +149,13 @@ class anyType: def _setAttrs(self, attrs): - if type(attrs) in (ListType, TupleType): + if type(attrs) in (list, tuple): for i in range(0, len(attrs), 2): self._setAttr(attrs[i], attrs[i + 1]) return - if type(attrs) == DictType: + if type(attrs) == dict: d = attrs elif isinstance(attrs, anyType): d = attrs._attrs @@ -284,7 +284,7 @@ class decimalType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType, FloatType): + if type(data) not in (int, LongType, FloatType): raise Error("invalid %s value" % self._type) return data @@ -294,7 +294,7 @@ class floatType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType, FloatType) or \ + if type(data) not in (int, LongType, FloatType) or \ data < -3.4028234663852886E+38 or \ data > 3.4028234663852886E+38: raise ValueError("invalid %s value: %s" % (self._type, repr(data))) @@ -309,7 +309,7 @@ class doubleType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType, FloatType) or \ + if type(data) not in (int, LongType, FloatType) or \ data < -1.7976931348623158E+308 or \ data > 1.7976931348623157E+308: raise ValueError("invalid %s value: %s" % (self._type, repr(data))) @@ -329,9 +329,9 @@ class durationType(anyType): try: # A tuple or a scalar is OK, but make them into a list - if type(data) == TupleType: + if type(data) == tuple: data = list(data) - elif type(data) != ListType: + elif type(data) != list: data = [data] if len(data) > 6: @@ -348,7 +348,7 @@ class durationType(anyType): continue if type(data[i]) not in \ - (IntType, LongType, FloatType): + (int, LongType, FloatType): raise Exception("element %d a bad type" % i) if data[i] and f == -1: @@ -433,13 +433,13 @@ class dateTimeType(anyType): if data == None: data = time.time() - if (type(data) in (IntType, LongType)): + if (type(data) in (int, LongType)): data = list(time.gmtime(data)[:6]) elif (type(data) == FloatType): f = data - int(data) data = list(time.gmtime(int(data))[:6]) data[5] += f - elif type(data) in (ListType, TupleType): + elif type(data) in (list, tuple): if len(data) < 6: raise Exception("not enough values") if len(data) > 9: @@ -477,13 +477,13 @@ class recurringInstantType(anyType): try: if data == None: data = list(time.gmtime(time.time())[:6]) - if (type(data) in (IntType, LongType)): + if (type(data) in (int, LongType)): data = list(time.gmtime(data)[:6]) elif (type(data) == FloatType): f = data - int(data) data = list(time.gmtime(int(data))[:6]) data[5] += f - elif type(data) in (ListType, TupleType): + elif type(data) in (list, tuple): if len(data) < 1: raise Exception("not enough values") if len(data) > 9: @@ -566,9 +566,9 @@ class timeType(anyType): f = data - int(data) data = list(time.gmtime(int(data))[3:6]) data[2] += f - elif type(data) in (IntType, LongType): + elif type(data) in (int, LongType): data = time.gmtime(data)[3:6] - elif type(data) in (ListType, TupleType): + elif type(data) in (list, tuple): if len(data) == 9: data = data[3:6] elif len(data) > 3: @@ -610,9 +610,9 @@ class dateType(anyType): try: if data == None: data = time.gmtime(time.time())[0:3] - elif type(data) in (IntType, LongType, FloatType): + elif type(data) in (int, LongType, FloatType): data = time.gmtime(data)[0:3] - elif type(data) in (ListType, TupleType): + elif type(data) in (list, tuple): if len(data) == 9: data = data[0:3] elif len(data) > 3: @@ -653,9 +653,9 @@ class gYearMonthType(anyType): try: if data == None: data = time.gmtime(time.time())[0:2] - elif type(data) in (IntType, LongType, FloatType): + elif type(data) in (int, LongType, FloatType): data = time.gmtime(data)[0:2] - elif type(data) in (ListType, TupleType): + elif type(data) in (list, tuple): if len(data) == 9: data = data[0:2] elif len(data) > 2: @@ -696,10 +696,10 @@ class gYearType(anyType): try: if data == None: data = time.gmtime(time.time())[0:1] - elif type(data) in (IntType, LongType, FloatType): + elif type(data) in (int, LongType, FloatType): data = [data] - if type(data) in (ListType, TupleType): + if type(data) in (list, tuple): if len(data) == 9: data = data[0:1] elif len(data) < 1: @@ -715,7 +715,7 @@ class gYearType(anyType): raise Exception("not integral") data = [s] - elif type(data[0]) not in (IntType, LongType): + elif type(data[0]) not in (int, LongType): raise Exception("bad type") else: raise Exception("invalid type") @@ -742,10 +742,10 @@ class centuryType(anyType): try: if data == None: data = time.gmtime(time.time())[0:1] / 100 - elif type(data) in (IntType, LongType, FloatType): + elif type(data) in (int, LongType, FloatType): data = [data] - if type(data) in (ListType, TupleType): + if type(data) in (list, tuple): if len(data) == 9: data = data[0:1] / 100 elif len(data) < 1: @@ -761,7 +761,7 @@ class centuryType(anyType): raise Exception("not integral") data = [s] - elif type(data[0]) not in (IntType, LongType): + elif type(data[0]) not in (int, LongType): raise Exception("bad type") else: raise Exception("invalid type") @@ -791,9 +791,9 @@ class gMonthDayType(anyType): try: if data == None: data = time.gmtime(time.time())[1:3] - elif type(data) in (IntType, LongType, FloatType): + elif type(data) in (int, LongType, FloatType): data = time.gmtime(data)[1:3] - elif type(data) in (ListType, TupleType): + elif type(data) in (list, tuple): if len(data) == 9: data = data[0:2] elif len(data) > 2: @@ -832,10 +832,10 @@ class gMonthType(anyType): try: if data == None: data = time.gmtime(time.time())[1:2] - elif type(data) in (IntType, LongType, FloatType): + elif type(data) in (int, LongType, FloatType): data = [data] - if type(data) in (ListType, TupleType): + if type(data) in (list, tuple): if len(data) == 9: data = data[1:2] elif len(data) < 1: @@ -851,7 +851,7 @@ class gMonthType(anyType): raise Exception("not integral") data = [s] - elif type(data[0]) not in (IntType, LongType): + elif type(data[0]) not in (int, LongType): raise Exception("bad type") if data[0] < 1 or data[0] > 12: @@ -879,10 +879,10 @@ class gDayType(anyType): try: if data == None: data = time.gmtime(time.time())[2:3] - elif type(data) in (IntType, LongType, FloatType): + elif type(data) in (int, LongType, FloatType): data = [data] - if type(data) in (ListType, TupleType): + if type(data) in (list, tuple): if len(data) == 9: data = data[2:3] elif len(data) < 1: @@ -898,7 +898,7 @@ class gDayType(anyType): raise Exception("not integral") data = [s] - elif type(data[0]) not in (IntType, LongType): + elif type(data[0]) not in (int, LongType): raise Exception("bad type") if data[0] < 1 or data[0] > 31: @@ -1038,7 +1038,7 @@ class ENTITIESType(anyType): if type(data) in (StringType, UnicodeType): return (data,) - if type(data) not in (ListType, TupleType) or \ + if type(data) not in (list, tuple) or \ [x for x in data if type(x) not in (StringType, UnicodeType)]: raise AttributeError("invalid %s type" % self._type) @@ -1055,7 +1055,7 @@ class integerType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType): + if type(data) not in (int, LongType): raise ValueError("invalid %s value" % self._type) return data @@ -1067,7 +1067,7 @@ class nonPositiveIntegerType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or data > 0: + if type(data) not in (int, LongType) or data > 0: raise ValueError("invalid %s value" % self._type) return data @@ -1085,7 +1085,7 @@ class negativeIntegerType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or data >= 0: + if type(data) not in (int, LongType) or data >= 0: raise ValueError("invalid %s value" % self._type) return data @@ -1103,21 +1103,21 @@ class longType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or \ + if type(data) not in (int, LongType) or \ data < -9223372036854775808 or \ data > 9223372036854775807: raise ValueError("invalid %s value" % self._type) return data -class intType(anyType): +class int(anyType): _validURIs = (NS.XSD2, NS.XSD3, NS.ENC) def _checkValueSpace(self, data): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or \ + if type(data) not in (int, LongType) or \ data < -2147483648 or \ data > 2147483647: raise ValueError("invalid %s value" % self._type) @@ -1131,7 +1131,7 @@ class shortType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or \ + if type(data) not in (int, LongType) or \ data < -32768 or \ data > 32767: raise ValueError("invalid %s value" % self._type) @@ -1145,7 +1145,7 @@ class byteType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or \ + if type(data) not in (int, LongType) or \ data < -128 or \ data > 127: raise ValueError("invalid %s value" % self._type) @@ -1159,7 +1159,7 @@ class nonNegativeIntegerType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or data < 0: + if type(data) not in (int, LongType) or data < 0: raise ValueError("invalid %s value" % self._type) return data @@ -1177,21 +1177,21 @@ class unsignedLongType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or \ + if type(data) not in (int, LongType) or \ data < 0 or \ data > 18446744073709551615: raise ValueError("invalid %s value" % self._type) return data -class unsignedIntType(anyType): +class unsignedint(anyType): _validURIs = (NS.XSD2, NS.XSD3, NS.ENC) def _checkValueSpace(self, data): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or \ + if type(data) not in (int, LongType) or \ data < 0 or \ data > 4294967295: raise ValueError("invalid %s value" % self._type) @@ -1205,7 +1205,7 @@ class unsignedShortType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or \ + if type(data) not in (int, LongType) or \ data < 0 or \ data > 65535: raise ValueError("invalid %s value" % self._type) @@ -1219,7 +1219,7 @@ class unsignedByteType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or \ + if type(data) not in (int, LongType) or \ data < 0 or \ data > 255: raise ValueError("invalid %s value" % self._type) @@ -1233,7 +1233,7 @@ class positiveIntegerType(anyType): if data == None: raise ValueError("must supply initial %s value" % self._type) - if type(data) not in (IntType, LongType) or data <= 0: + if type(data) not in (int, LongType) or data <= 0: raise ValueError("invalid %s value" % self._type) return data @@ -1254,7 +1254,7 @@ class compoundType(anyType): anyType.__init__(self, data, name, typed, attrs) self._keyord = [] - if type(data) == DictType: + if type(data) == dict: self.__dict__.update(data) def _aslist(self, item=None): @@ -1282,7 +1282,7 @@ class compoundType(anyType): def __getitem__(self, item): - if type(item) == IntType: + if not isinstance(item, str): return self.__dict__[self._keyord[item]] else: return getattr(self, item) @@ -1299,7 +1299,7 @@ class compoundType(anyType): def _addItem(self, name, value, attrs = None): if name in self._keyord: - if type(self.__dict__[name]) != ListType: + if type(self.__dict__[name]) != list: self.__dict__[name] = [self.__dict__[name]] self.__dict__[name].append(value) else: @@ -1308,7 +1308,7 @@ class compoundType(anyType): def _placeItem(self, name, value, pos, subpos = 0, attrs = None): - if subpos == 0 and type(self.__dict__[name]) != ListType: + if subpos == 0 and type(self.__dict__[name]) != list: self.__dict__[name] = value else: self.__dict__[name][subpos] = value @@ -1328,7 +1328,7 @@ class compoundType(anyType): except: return default - if type(d) == ListType: + if type(d) == list: return d return [d] @@ -1358,7 +1358,7 @@ class arrayType(collections.UserList, compoundType): offset = 0, rank = None, asize = 0, elemsname = None): if data: - if type(data) not in (ListType, TupleType): + if type(data) not in (list, tuple): raise Error("Data must be a sequence") collections.UserList.__init__(self, data) @@ -1694,7 +1694,7 @@ def simplify(object, level=0): if isPublic(k): data[k] = simplify(data[k], level=level+1) return data - elif type(object)==DictType: + elif type(object)==dict: for k in list(object.keys()): if isPublic(k): object[k] = simplify(object[k]) @@ -1741,7 +1741,7 @@ def simplify_contents(object, level=0): for k in list(data.keys()): if isPublic(k): object[k] = simplify(data[k], level=level+1) - elif type(object)==DictType: + elif type(object)==dict: for k in list(object.keys()): if isPublic(k): object[k] = simplify(object[k]) diff --git a/src/SOAPpy/Utilities.py b/src/SOAPpy/Utilities.py index 1d1198f..bcb2dd3 100644 --- a/src/SOAPpy/Utilities.py +++ b/src/SOAPpy/Utilities.py @@ -39,7 +39,7 @@ from .version import __version__ import re import string import sys -from .types import * +from SOAPpy.Types import * # SOAPpy modules from .Errors import * diff --git a/src/SOAPpy/__init__.py b/src/SOAPpy/__init__.py index 2a170fb..fc127db 100644 --- a/src/SOAPpy/__init__.py +++ b/src/SOAPpy/__init__.py @@ -2,14 +2,14 @@ ident = '$Id: __init__.py 541 2004-01-31 04:20:06Z warnes $' from .version import __version__ -from .Client import * -from .Config import * -from .Errors import * -from .NS import * -from .Parser import * -from .SOAPBuilder import * -from .Server import * -from .types import * -from .Utilities import * +from SOAPpy.Client import * +from SOAPpy.Config import * +from SOAPpy.Errors import * +from SOAPpy.NS import * +from SOAPpy.Parser import * +from SOAPpy.SOAPBuilder import * +from SOAPpy.Server import * +from SOAPpy.Types import * +from SOAPpy.Utilities import * import wstools from . import WSDL