summaryrefslogtreecommitdiffstats
path: root/requests/hooks.py
diff options
context:
space:
mode:
authorThibaut Horel <thibaut.horel@gmail.com>2013-09-29 17:48:14 -0400
committerThibaut Horel <thibaut.horel@gmail.com>2013-09-29 17:48:14 -0400
commitef7a80865f253852f7c7b01f04bc02b695ead67b (patch)
treeea718f746b5f9db4624057d1f0aa1df9abee8bd4 /requests/hooks.py
parent19346fa9068878af516cdb670bea4f791337507b (diff)
downloadlastfm-ef7a80865f253852f7c7b01f04bc02b695ead67b.tar.gz
Giving up on Python 2.5 support
Diffstat (limited to 'requests/hooks.py')
-rw-r--r--requests/hooks.py29
1 files changed, 13 insertions, 16 deletions
diff --git a/requests/hooks.py b/requests/hooks.py
index 3560b89..5dfaf6b 100644
--- a/requests/hooks.py
+++ b/requests/hooks.py
@@ -8,27 +8,25 @@ This module provides the capabilities for the Requests hooks system.
Available hooks:
-``args``:
- A dictionary of the arguments being sent to Request().
-
-``pre_request``:
- The Request object, directly before being sent.
-
-``post_request``:
- The Request object, directly after being sent.
-
``response``:
The response generated from a Request.
"""
-import traceback
+HOOKS = ['response']
+
+
+def default_hooks():
+ hooks = {}
+ for event in HOOKS:
+ hooks[event] = []
+ return hooks
-HOOKS = ('args', 'pre_request', 'post_request', 'response')
+# TODO: response is the only one
-def dispatch_hook(key, hooks, hook_data):
+def dispatch_hook(key, hooks, hook_data, **kwargs):
"""Dispatches a hook dictionary on a given piece of data."""
hooks = hooks or dict()
@@ -40,9 +38,8 @@ def dispatch_hook(key, hooks, hook_data):
hooks = [hooks]
for hook in hooks:
- try:
- hook_data = hook(hook_data) or hook_data
- except Exception:
- traceback.print_exc()
+ _hook_data = hook(hook_data, **kwargs)
+ if _hook_data is not None:
+ hook_data = _hook_data
return hook_data