From c5a41269d9795e7c63d72777b7ea360e380544d8 Mon Sep 17 00:00:00 2001 From: ueg1990 Date: Sat, 12 Sep 2015 20:43:25 -0400 Subject: [PATCH] Some pythonic suggestions for requests/hooks.py --- requests/hooks.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/requests/hooks.py b/requests/hooks.py index 5dfaf6b6..ba060519 100644 --- a/requests/hooks.py +++ b/requests/hooks.py @@ -12,34 +12,26 @@ Available hooks: The response generated from a Request. """ - +from collections import defaultdict HOOKS = ['response'] def default_hooks(): - hooks = {} - for event in HOOKS: - hooks[event] = [] - return hooks + return dict((event, []) for event in HOOKS) # TODO: response is the only one def dispatch_hook(key, hooks, hook_data, **kwargs): """Dispatches a hook dictionary on a given piece of data.""" - hooks = hooks or dict() - - if key in hooks: - hooks = hooks.get(key) - + hooks = hooks.get(key) + if hooks: if hasattr(hooks, '__call__'): hooks = [hooks] - for hook in hooks: _hook_data = hook(hook_data, **kwargs) if _hook_data is not None: hook_data = _hook_data - - return hook_data + return hook_data \ No newline at end of file