diff options
| author | David Cramer | 2012-01-12 19:13:47 -0800 |
|---|---|---|
| committer | David Cramer | 2012-01-12 19:13:47 -0800 |
| commit | 01cd08518ded622d3308dd539b00ebbf7012894e (patch) | |
| tree | a9cca14ff92d4602a51d4999430574587a733d1d /debug_toolbar/utils/tracking | |
| parent | c4eeef24faa81e7bc64ebfbd72c046f25c7b3381 (diff) | |
| download | django-debug-toolbar-01cd08518ded622d3308dd539b00ebbf7012894e.tar.bz2 | |
pep8
Diffstat (limited to 'debug_toolbar/utils/tracking')
| -rw-r--r-- | debug_toolbar/utils/tracking/__init__.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/debug_toolbar/utils/tracking/__init__.py b/debug_toolbar/utils/tracking/__init__.py index db8ff18..9c72803 100644 --- a/debug_toolbar/utils/tracking/__init__.py +++ b/debug_toolbar/utils/tracking/__init__.py @@ -2,18 +2,21 @@ import logging import time import types + def post_dispatch(func): def wrapped(callback): register_hook(func, 'after', callback) return callback return wrapped + def pre_dispatch(func): def wrapped(callback): register_hook(func, 'before', callback) return callback return wrapped + def replace_call(func): def inner(callback): def wrapped(*args, **kwargs): @@ -28,6 +31,7 @@ def replace_call(func): return wrapped return inner + def fire_hook(hook, sender, **kwargs): try: for callback in callbacks[hook].get(id(sender), []): @@ -36,6 +40,7 @@ def fire_hook(hook, sender, **kwargs): # Log the exception, dont mess w/ the underlying function logging.exception(e) + def _replace_function(func, wrapped): if isinstance(func, types.FunctionType): if func.__module__ == '__builtin__': @@ -58,6 +63,7 @@ callbacks = { 'after': {}, } + def register_hook(func, hook, callback): """ def myhook(sender, args, kwargs): @@ -81,10 +87,10 @@ def register_hook(func, hook, callback): wrapped.__wrapped__ = actual wrapped.__doc__ = getattr(actual, '__doc__', None) wrapped.__name__ = actual.__name__ - + id_ = id(actual) if id_ not in callbacks[hook]: callbacks[hook][id_] = [] callbacks[hook][id_].append(callback) - _replace_function(func, wrapped)
\ No newline at end of file + _replace_function(func, wrapped) |
