From b8387222662e54da9c1cabbe5a9df698d25c594f Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Sat, 9 Nov 2013 22:57:17 +0100 Subject: Simplify code introduced in 7f7ea810. --- debug_toolbar/models.py | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) (limited to 'debug_toolbar/models.py') 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 -- cgit v1.2.3