Skip to content
Snippets Groups Projects
Commit 79c86bd0 authored by Rajmund Hruška's avatar Rajmund Hruška Committed by Pavel Kácha
Browse files

Add support for Python3

parent dc6c83dd
No related branches found
No related tags found
No related merge requests found
...@@ -13,12 +13,19 @@ import M2Crypto ...@@ -13,12 +13,19 @@ import M2Crypto
if sys.version_info[0] >= 3: if sys.version_info[0] >= 3:
import urllib.request as urllib2 import urllib.request, urllib.error, urllib.parse
import http.client as httplib import http.client
def get_https_handler():
return urllib.request.HTTPSHandler
else: else:
import urllib2 import urllib2
import httplib import httplib
def get_https_handler():
return urllib2.HTTPSHandler
STATUS_FAILED = 11 STATUS_FAILED = 11
STATUS_GENERATED = 40 STATUS_GENERATED = 40
STATUS_HISTORICAL = 60 STATUS_HISTORICAL = 60
...@@ -145,10 +152,10 @@ REVOKATION_REASON_PRIVILEGESWITHDRAWN = 9 ...@@ -145,10 +152,10 @@ REVOKATION_REASON_PRIVILEGESWITHDRAWN = 9
REVOKATION_REASON_AACOMPROMISE = 10 REVOKATION_REASON_AACOMPROMISE = 10
class HTTPSClientAuthHandler(urllib2.HTTPSHandler): class HTTPSClientAuthHandler(get_https_handler()):
def __init__(self, key, cert): def __init__(self, key, cert):
urllib2.HTTPSHandler.__init__(self) get_https_handler().__init__(self)
self.key = key self.key = key
self.cert = cert self.cert = cert
...@@ -156,7 +163,10 @@ class HTTPSClientAuthHandler(urllib2.HTTPSHandler): ...@@ -156,7 +163,10 @@ class HTTPSClientAuthHandler(urllib2.HTTPSHandler):
return self.do_open(self.get_connection, req) return self.do_open(self.get_connection, req)
def get_connection(self, host, timeout=5): def get_connection(self, host, timeout=5):
return httplib.HTTPSConnection(host, key_file=self.key, cert_file=self.cert, timeout=timeout) if sys.version_info[0] >= 3:
return http.client.HTTPSConnection(host, key_file=self.key, cert_file=self.cert, timeout=timeout)
else:
return httplib.HTTPSConnection(host, key_file=self.key, cert_file=self.cert, timeout=timeout)
class HTTPSClientCertTransport(suds.transport.http.HttpTransport): class HTTPSClientCertTransport(suds.transport.http.HttpTransport):
...@@ -168,7 +178,10 @@ class HTTPSClientCertTransport(suds.transport.http.HttpTransport): ...@@ -168,7 +178,10 @@ class HTTPSClientCertTransport(suds.transport.http.HttpTransport):
def u2open(self, u2request): def u2open(self, u2request):
tm = self.options.timeout tm = self.options.timeout
url = urllib2.build_opener(HTTPSClientAuthHandler(self.key, self.cert)) if sys.version_info[0] >= 3:
url = urllib.request.build_opener(HTTPSClientAuthHandler(self.key, self.cert))
else:
url = urllib2.build_opener(HTTPSClientAuthHandler(self.key, self.cert))
if self.u2ver() < 2.6: if self.u2ver() < 2.6:
socket.setdefaulttimeout(tm) socket.setdefaulttimeout(tm)
return url.open(u2request) return url.open(u2request)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment