aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAymeric Augustin2013-11-09 22:57:17 +0100
committerAymeric Augustin2013-11-09 22:57:17 +0100
commitb8387222662e54da9c1cabbe5a9df698d25c594f (patch)
treee9a578d7cfa8a60abec5f23501b33827a81433c1
parent363c4a8d2e5c30bae3daf4e5c4b6691a9fa5c79b (diff)
downloaddjango-debug-toolbar-b8387222662e54da9c1cabbe5a9df698d25c594f.tar.bz2
Simplify code introduced in 7f7ea810.
-rw-r--r--debug_toolbar/models.py35
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