diff options
| author | Aymeric Augustin | 2013-11-09 22:57:17 +0100 |
|---|---|---|
| committer | Aymeric Augustin | 2013-11-09 22:57:17 +0100 |
| commit | b8387222662e54da9c1cabbe5a9df698d25c594f (patch) | |
| tree | e9a578d7cfa8a60abec5f23501b33827a81433c1 /debug_toolbar/models.py | |
| parent | 363c4a8d2e5c30bae3daf4e5c4b6691a9fa5c79b (diff) | |
| download | django-debug-toolbar-b8387222662e54da9c1cabbe5a9df698d25c594f.tar.bz2 | |
Simplify code introduced in 7f7ea810.
Diffstat (limited to 'debug_toolbar/models.py')
| -rw-r--r-- | debug_toolbar/models.py | 35 |
1 files changed, 12 insertions, 23 deletions
diff --git a/debug_toolbar/models.py b/debug_toolbar/models.py index 510ce88..d6b18aa 100644 --- a/debug_toolbar/models.py +++ b/debug_toolbar/models.py @@ -6,27 +6,16 @@ from django.utils.importlib import import_module from debug_toolbar.toolbar.loader import load_panel_classes from debug_toolbar.middleware import DebugToolbarMiddleware -loaded = False - -def is_toolbar(cls): - return (issubclass(cls, DebugToolbarMiddleware) or - DebugToolbarMiddleware in getattr(cls, '__bases__', ())) - - -def iter_toolbar_middlewares(): - global loaded - for middleware_path in settings.MIDDLEWARE_CLASSES: - try: - mod_path, cls_name = middleware_path.rsplit('.', 1) - mod = import_module(mod_path) - middleware_cls = getattr(mod, cls_name) - except (AttributeError, ImportError, ValueError): - continue - if is_toolbar(middleware_cls) and not loaded: - # we have a hit! - loaded = True - yield middleware_cls - -for middleware_cls in iter_toolbar_middlewares(): - load_panel_classes() +for middleware_path in settings.MIDDLEWARE_CLASSES: + # Replace this with import_by_path in Django >= 1.6. + try: + mod_path, cls_name = middleware_path.rsplit('.', 1) + mod = import_module(mod_path) + middleware_cls = getattr(mod, cls_name) + except (AttributeError, ImportError, ValueError): + continue + + if issubclass(middleware_cls, DebugToolbarMiddleware): + load_panel_classes() + break |
