freshbooks/refreshbooks — pull request #10 by rbdrbd (2012-01-08 18:04:24+00:00)
Title: fix for closed issue #6 (httplib2 ssl fix) no longer necessary

From my testing it appears that newer versions of httplib2 may now be used with refreshbooks. This is a big deal for me because I have a few other libraries I use that depend on httplib2 > 0.5.0, so the requirements strings clash.

I can't find a CHANGELOG entry for 0.7.2, but 0.7.1's says:

0.7.1
Fix failure to install cacerts.txt for 2.x installs.

Which is probably it. Here's the results of my testing. I started with httplib2==0.5.0 and got the familiar error:

```
local@atweb01:/opt/mucs.env/lib/python2.7/site-packages$ /opt/mucs.env/bin/python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from refreshbooks import api as fbooks_api
>>> fbooks = fbooks_api.TokenClient("MYDOMAIN.freshbooks.com", "XXXX")
>>> fbooks.client.list(email="robbyd@paramise.com", folder='active')
Traceback (most recent call last):
File "", line 1, in
File "refreshbooks/client.py", line 17, in __call__
raw_response = self.transport(request)
File "refreshbooks/transport.py", line 94, in __call__
body=entity
File "httplib2/__init__.py", line 1436, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "httplib2/__init__.py", line 1188, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "httplib2/__init__.py", line 1123, in _conn_request
conn.connect()
File "httplib2/__init__.py", line 911, in connect
raise SSLHandshakeError(e)
httplib2.SSLHandshakeError: [Errno 1] _ssl.c:499: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
```

I then issued:
```sudo /opt/mucs.env/bin/pip -E /opt/mucs.env/ install --upgrade httplib2==0.7.2```

Then I ran the same thing:

```
local@atweb01:/opt/mucs.env/lib/python2.7/site-packages$ /opt/mucs.env/bin/python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from refreshbooks import api as fbooks_api
>>> fbooks = fbooks_api.TokenClient("MYDOMAIN.freshbooks.com", "XXXX")
>>> fbooks.client.list(email="robbyd@paramise.com", folder='active')

>>>
```