X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FPyCurl.py;h=4ae2fdc9a4a7d9663c67214146ff08328933c537;hb=bd0cbf4f7f2e4cf7ceda500bfa6f98c0a700018b;hp=e43efe62af33ed3fe856c6d8f2fa550d24cb53e5;hpb=db15e87507a9dcc02bfa5637f7195c82d12e7e49;p=plcapi.git diff --git a/PLC/PyCurl.py b/PLC/PyCurl.py index e43efe6..4ae2fdc 100644 --- a/PLC/PyCurl.py +++ b/PLC/PyCurl.py @@ -5,8 +5,6 @@ # Mark Huang # Copyright (C) 2006 The Trustees of Princeton University # -# $Id: PyCurl.py,v 1.2 2007/09/12 17:52:27 tmack Exp $ -# import os import xmlrpclib @@ -15,6 +13,8 @@ from tempfile import NamedTemporaryFile class PyCurlTransport(xmlrpclib.Transport): def __init__(self, uri, cert = None, timeout = 300): + if hasattr(xmlrpclib.Transport,'__init__'): + xmlrpclib.Transport.__init__(self) self.curl = pycurl.Curl() # Suppress signals @@ -49,7 +49,7 @@ class PyCurlTransport(xmlrpclib.Transport): self.body = "" def body(buf): self.body += buf - self.curl.setopt(pycurl.WRITEFUNCTION, body) + self.curl.setopt(pycurl.WRITEFUNCTION, body) def request(self, host, handler, request_body, verbose = 1): # Set verbosity @@ -64,13 +64,14 @@ class PyCurlTransport(xmlrpclib.Transport): errcode = self.curl.getinfo(pycurl.HTTP_CODE) response = self.body self.body = "" + errmsg="" except pycurl.error, err: (errcode, errmsg) = err if errcode == 60: raise Exception, "PyCurl: SSL certificate validation failed" elif errcode != 200: - raise Exception, "PyCurl: HTTP error %d -- %r" % (errcode,errmsg) + raise Exception, "PyCurl: HTTP error %d -- %r" % (errcode,errmsg) # Parse response p, u = self.getparser()