Skip to content

Commit 7fa83ed

Browse files
committed
Minor cosmetic cleanup, switching out __import__ calls with the proper use of Django's import_module.
1 parent c590c7e commit 7fa83ed

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

debug_toolbar/panels/signals.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import sys
2-
31
from django.conf import settings
42
from django.core.signals import (request_started, request_finished,
53
got_request_exception)
64
from django.db.models.signals import (class_prepared, pre_init, post_init,
75
pre_save, post_save, pre_delete, post_delete, post_syncdb)
86
from django.dispatch.dispatcher import WEAKREF_TYPES
97
from django.utils.translation import ugettext_lazy as _, ungettext
8+
from django.utils.importlib import import_module
9+
1010

1111
try:
1212
from django.db.backends.signals import connection_created
@@ -60,19 +60,18 @@ def title(self):
6060
def url(self):
6161
return ''
6262

63+
@property
6364
def signals(self):
6465
signals = self.SIGNALS.copy()
6566
if hasattr(settings, 'DEBUG_TOOLBAR_CONFIG'):
6667
extra_signals = settings.DEBUG_TOOLBAR_CONFIG.get('EXTRA_SIGNALS', [])
6768
else:
6869
extra_signals = []
6970
for signal in extra_signals:
70-
parts = signal.split('.')
71-
path = '.'.join(parts[:-1])
72-
__import__(path)
73-
signals[parts[-1]] = getattr(sys.modules[path], parts[-1])
71+
mod_path, signal_name = signal.rsplit('.', 1)
72+
signals_mod = import_module(mod_path)
73+
signals[signal_name] = getattr(signals_mod, signal_name)
7474
return signals
75-
signals = property(signals)
7675

7776
def process_response(self, request, response):
7877
signals = []

debug_toolbar/panels/version.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from django.conf import settings
55
from django.utils.translation import ugettext_lazy as _
66
from django.utils.datastructures import SortedDict
7+
from django.utils.importlib import import_module
78

89
from debug_toolbar.panels import DebugPanel
910

@@ -32,8 +33,7 @@ def process_response(self, request, response):
3233
versions = [('Python', '%d.%d.%d' % sys.version_info[:3])]
3334
for app in list(settings.INSTALLED_APPS) + ['django']:
3435
name = app.split('.')[-1].replace('_', ' ').capitalize()
35-
__import__(app)
36-
app = sys.modules[app]
36+
app = import_module(app)
3737
if hasattr(app, 'get_version'):
3838
get_version = app.get_version
3939
if callable(get_version):

debug_toolbar/toolbar/loader.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from django.conf import settings
88
from django.template.loader import render_to_string
99
from django.utils.datastructures import SortedDict
10+
from django.utils.importlib import import_module
1011
from django.utils.safestring import mark_safe
1112

1213

@@ -91,10 +92,10 @@ def load_panel_classes():
9192
dot = panel_path.rindex('.')
9293
except ValueError:
9394
raise ImproperlyConfigured(
94-
'%s isn\'t a debug panel module' % panel_path)
95+
"%s isn't a debug panel module" % panel_path)
9596
panel_module, panel_classname = panel_path[:dot], panel_path[dot + 1:]
9697
try:
97-
mod = __import__(panel_module, {}, {}, [''])
98+
mod = import_module(panel_module)
9899
except ImportError, e:
99100
raise ImproperlyConfigured(
100101
'Error importing debug panel %s: "%s"' %

0 commit comments

Comments
 (0)