From ef7a80865f253852f7c7b01f04bc02b695ead67b Mon Sep 17 00:00:00 2001 From: Thibaut Horel Date: Sun, 29 Sep 2013 17:48:14 -0400 Subject: Giving up on Python 2.5 support --- requests/hooks.py | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) (limited to 'requests/hooks.py') 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 -- cgit v1.2.3-70-g09d2