diff options
Diffstat (limited to 'defusedxml/xmlrpc.py')
-rw-r--r-- | defusedxml/xmlrpc.py | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/defusedxml/xmlrpc.py b/defusedxml/xmlrpc.py index fbc674d..39e9245 100644 --- a/defusedxml/xmlrpc.py +++ b/defusedxml/xmlrpc.py @@ -11,23 +11,14 @@ from __future__ import print_function, absolute_import import io -from .common import DTDForbidden, EntitiesForbidden, ExternalReferenceForbidden, PY3 - -if PY3: - __origin__ = "xmlrpc.client" - from xmlrpc.client import ExpatParser - from xmlrpc import client as xmlrpc_client - from xmlrpc import server as xmlrpc_server - from xmlrpc.client import gzip_decode as _orig_gzip_decode - from xmlrpc.client import GzipDecodedResponse as _OrigGzipDecodedResponse -else: - __origin__ = "xmlrpclib" - from xmlrpclib import ExpatParser - import xmlrpclib as xmlrpc_client - - xmlrpc_server = None - from xmlrpclib import gzip_decode as _orig_gzip_decode - from xmlrpclib import GzipDecodedResponse as _OrigGzipDecodedResponse +from .common import DTDForbidden, EntitiesForbidden, ExternalReferenceForbidden + +__origin__ = "xmlrpc.client" +from xmlrpc.client import ExpatParser +from xmlrpc import client as xmlrpc_client +from xmlrpc import server as xmlrpc_server +from xmlrpc.client import gzip_decode as _orig_gzip_decode +from xmlrpc.client import GzipDecodedResponse as _OrigGzipDecodedResponse try: import gzip @@ -87,7 +78,7 @@ class DefusedGzipDecodedResponse(gzip.GzipFile if gzip else object): if limit >= 0 and len(data) > limit: raise ValueError("max payload length exceeded") self.stringio = io.BytesIO(data) - gzip.GzipFile.__init__(self, mode="rb", fileobj=self.stringio) + super().__init__(mode="rb", fileobj=self.stringio) def read(self, n): if self.limit >= 0: @@ -99,16 +90,16 @@ class DefusedGzipDecodedResponse(gzip.GzipFile if gzip else object): raise ValueError("max payload length exceeded") return data else: - return gzip.GzipFile.read(self, n) + return super().read(n) def close(self): - gzip.GzipFile.close(self) + super().close() self.stringio.close() class DefusedExpatParser(ExpatParser): def __init__(self, target, forbid_dtd=False, forbid_entities=True, forbid_external=True): - ExpatParser.__init__(self, target) + super().__init__(target) self.forbid_dtd = forbid_dtd self.forbid_entities = forbid_entities self.forbid_external = forbid_external |