Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problems with hooks using Requests Python package

I'm using the module requests and I recieved this message when I started using hooks.

File "/Library/Python/2.7/site-packages/requests-1.1.0-py2.7.egg/requests/sessions.py", line 321, in request
resp = self.send(prep, **send_kwargs)

File "/Library/Python/2.7/site-packages/requests-1.1.0-py2.7.egg/requests/sessions.py", line 426, in send
r = dispatch_hook('response', hooks, r, **kwargs)

File "/Library/Python/2.7/site-packages/requests-1.1.0-py2.7.egg/requests/hooks.py", line 41, in dispatch_hook
_hook_data = hook(hook_data, **kwargs)
TypeError: hook() got an unexpected keyword argument 'verify'

And this is my code (simplified):

import requests
def hook(r):
     print r.json()

r = requests.get("http://search.twitter.com/search.json?q=blue%20angels&rpp=5", hooks=dict(response=hook))
like image 847
masipcat Avatar asked Mar 24 '13 01:03

masipcat


1 Answers

According to the requests documentation, your hook function doesnt need to take any keyword arguments, but according to the source code on github, the event dispatcher may pass on kwargs to your hook function. Seems like incomplete documentation to me. Redefine your method as:

def hook(r, **kwargs):
    # ...
like image 161
minism Avatar answered Nov 14 '22 22:11

minism