summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorKjetil Jacobsen <kjetilja@gmail.com>2005-05-18 12:50:00 +0000
committerKjetil Jacobsen <kjetilja@gmail.com>2005-05-18 12:50:00 +0000
commitd109808471e41f1f46b3ace505f5269bb8214fb8 (patch)
treed25a9903ce0cd872a52e64b3422d01ebbef6d828 /python
parent190e3718d6b07b524451aecf654ac177c7aefe2c (diff)
downloadpycurl-d109808471e41f1f46b3ace505f5269bb8214fb8.tar.gz
- use dict to hold response info, not rfc822 message obj
Diffstat (limited to 'python')
-rw-r--r--python/curl/__init__.py77
1 files changed, 39 insertions, 38 deletions
diff --git a/python/curl/__init__.py b/python/curl/__init__.py
index 714882e..40f7406 100644
--- a/python/curl/__init__.py
+++ b/python/curl/__init__.py
@@ -92,48 +92,46 @@ class Curl:
"Return the body from the last response."
return self.payload
+ def header(self):
+ "Return the header from the last response."
+ return self.header.getvalue()
+
def get_info(self, *args):
"Get information about retrieval."
return apply(self.handle.getinfo, args)
def info(self):
- "Return an RFC822 object with info on the page."
- self.header.seek(0,0)
- url = self.handle.getinfo(pycurl.EFFECTIVE_URL)
- if url[:5] == 'http:':
- self.header.readline()
- m = mimetools.Message(self.header)
- else:
- m = mimetools.Message(StringIO())
- m['effective-url'] = url
- m['http-code'] = str(self.handle.getinfo(pycurl.HTTP_CODE))
- m['total-time'] = str(self.handle.getinfo(pycurl.TOTAL_TIME))
- m['namelookup-time'] = str(self.handle.getinfo(pycurl.NAMELOOKUP_TIME))
- m['connect-time'] = str(self.handle.getinfo(pycurl.CONNECT_TIME))
- m['pretransfer-time'] = str(self.handle.getinfo(pycurl.PRETRANSFER_TIME))
- m['redirect-time'] = str(self.handle.getinfo(pycurl.REDIRECT_TIME))
- m['redirect-count'] = str(self.handle.getinfo(pycurl.REDIRECT_COUNT))
- m['size-upload'] = str(self.handle.getinfo(pycurl.SIZE_UPLOAD))
- m['size-download'] = str(self.handle.getinfo(pycurl.SIZE_DOWNLOAD))
- m['speed-upload'] = str(self.handle.getinfo(pycurl.SPEED_UPLOAD))
- m['header-size'] = str(self.handle.getinfo(pycurl.HEADER_SIZE))
- m['request-size'] = str(self.handle.getinfo(pycurl.REQUEST_SIZE))
- m['content-length-download'] = str(self.handle.getinfo(pycurl.CONTENT_LENGTH_DOWNLOAD))
- m['content-length-upload'] = str(self.handle.getinfo(pycurl.CONTENT_LENGTH_UPLOAD))
- m['content-type'] = (self.handle.getinfo(pycurl.CONTENT_TYPE) or '').strip(';')
- m['response-code'] = str(self.handle.getinfo(pycurl.RESPONSE_CODE))
- m['speed-download'] = str(self.handle.getinfo(pycurl.SPEED_DOWNLOAD))
- m['ssl-verifyresult'] = str(self.handle.getinfo(pycurl.SSL_VERIFYRESULT))
- m['filetime'] = str(self.handle.getinfo(pycurl.INFO_FILETIME))
- m['starttransfer-time'] = str(self.handle.getinfo(pycurl.STARTTRANSFER_TIME))
- m['redirect-time'] = str(self.handle.getinfo(pycurl.REDIRECT_TIME))
- m['redirect-count'] = str(self.handle.getinfo(pycurl.REDIRECT_COUNT))
- m['http-connectcode'] = str(self.handle.getinfo(pycurl.HTTP_CONNECTCODE))
- m['httpauth-avail'] = str(self.handle.getinfo(pycurl.HTTPAUTH_AVAIL))
- m['proxyauth-avail'] = str(self.handle.getinfo(pycurl.PROXYAUTH_AVAIL))
- m['os-errno'] = str(self.handle.getinfo(pycurl.OS_ERRNO))
- m['num-connects'] = str(self.handle.getinfo(pycurl.NUM_CONNECTS))
- m['ssl-engines'] = str(self.handle.getinfo(pycurl.SSL_ENGINES))
+ "Return a dictionary with all info on the last response."
+ m = {}
+ m['effective-url'] = self.handle.getinfo(pycurl.EFFECTIVE_URL)
+ m['http-code'] = self.handle.getinfo(pycurl.HTTP_CODE)
+ m['total-time'] = self.handle.getinfo(pycurl.TOTAL_TIME)
+ m['namelookup-time'] = self.handle.getinfo(pycurl.NAMELOOKUP_TIME)
+ m['connect-time'] = self.handle.getinfo(pycurl.CONNECT_TIME)
+ m['pretransfer-time'] = self.handle.getinfo(pycurl.PRETRANSFER_TIME)
+ m['redirect-time'] = self.handle.getinfo(pycurl.REDIRECT_TIME)
+ m['redirect-count'] = self.handle.getinfo(pycurl.REDIRECT_COUNT)
+ m['size-upload'] = self.handle.getinfo(pycurl.SIZE_UPLOAD)
+ m['size-download'] = self.handle.getinfo(pycurl.SIZE_DOWNLOAD)
+ m['speed-upload'] = self.handle.getinfo(pycurl.SPEED_UPLOAD)
+ m['header-size'] = self.handle.getinfo(pycurl.HEADER_SIZE)
+ m['request-size'] = self.handle.getinfo(pycurl.REQUEST_SIZE)
+ m['content-length-download'] = self.handle.getinfo(pycurl.CONTENT_LENGTH_DOWNLOAD)
+ m['content-length-upload'] = self.handle.getinfo(pycurl.CONTENT_LENGTH_UPLOAD)
+ m['content-type'] = self.handle.getinfo(pycurl.CONTENT_TYPE)
+ m['response-code'] = self.handle.getinfo(pycurl.RESPONSE_CODE)
+ m['speed-download'] = self.handle.getinfo(pycurl.SPEED_DOWNLOAD)
+ m['ssl-verifyresult'] = self.handle.getinfo(pycurl.SSL_VERIFYRESULT)
+ m['filetime'] = self.handle.getinfo(pycurl.INFO_FILETIME)
+ m['starttransfer-time'] = self.handle.getinfo(pycurl.STARTTRANSFER_TIME)
+ m['redirect-time'] = self.handle.getinfo(pycurl.REDIRECT_TIME)
+ m['redirect-count'] = self.handle.getinfo(pycurl.REDIRECT_COUNT)
+ m['http-connectcode'] = self.handle.getinfo(pycurl.HTTP_CONNECTCODE)
+ m['httpauth-avail'] = self.handle.getinfo(pycurl.HTTPAUTH_AVAIL)
+ m['proxyauth-avail'] = self.handle.getinfo(pycurl.PROXYAUTH_AVAIL)
+ m['os-errno'] = self.handle.getinfo(pycurl.OS_ERRNO)
+ m['num-connects'] = self.handle.getinfo(pycurl.NUM_CONNECTS)
+ m['ssl-engines'] = self.handle.getinfo(pycurl.SSL_ENGINES)
return m
def answered(self, check):
@@ -161,5 +159,8 @@ if __name__ == "__main__":
c.get(url)
print c.body()
print '='*74 + '\n'
- print c.info()
+ import pprint
+ pprint.pprint(c.info())
+ print c.get_info(pycurl.OS_ERRNO)
+ print c.info()['os-errno']
c.close()