From 014b64c8648ddfa2836ef5126c9e32f22e3e81b3 Mon Sep 17 00:00:00 2001 From: Rob Hudson Date: Wed, 7 Apr 2010 07:50:55 -0700 Subject: Revert "Factor versions data out of VersionDebugPanel." This reverts commit d05dcbb4aa93b1ce9d097ed8d537f06eb2491f5e. --- debug_toolbar/panels/version.py | 42 ++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) (limited to 'debug_toolbar/panels/version.py') diff --git a/debug_toolbar/panels/version.py b/debug_toolbar/panels/version.py index 5f6aa49..098ab62 100644 --- a/debug_toolbar/panels/version.py +++ b/debug_toolbar/panels/version.py @@ -1,7 +1,13 @@ +import sys + +import django +from django.conf import settings from django.template.loader import render_to_string from django.utils.translation import ugettext_lazy as _ + +import debug_toolbar from debug_toolbar.panels import DebugPanel -from debug_toolbar.debug.version import DebugVersions + class VersionDebugPanel(DebugPanel): """ @@ -10,26 +16,44 @@ class VersionDebugPanel(DebugPanel): name = 'Version' has_content = True - def __init__(self, context={}): - super(VersionDebugPanel, self).__init__(context) - self.debug_version = DebugVersions() - def nav_title(self): return _('Versions') def nav_subtitle(self): - return 'Django %s' % self.debug_version.django_version() + return 'Django %s' % django.get_version() def url(self): return '' - + def title(self): return _('Versions') def content(self): + versions = {} + for app in settings.INSTALLED_APPS + ['django']: + name = app.split('.')[-1].replace('_', ' ').capitalize() + __import__(app) + app = sys.modules[app] + if hasattr(app, 'get_version'): + get_version = app.get_version + if callable(get_version): + version = get_version() + else: + version = get_version + elif hasattr(app, 'VERSION'): + version = app.VERSION + elif hasattr(app, '__version__'): + version = app.__version__ + else: + continue + if isinstance(version, (list, tuple)): + version = '.'.join(str(o) for o in version) + versions[name] = version + context = self.context.copy() context.update({ - 'versions': self.debug_version.get_versions(), - 'paths': self.debug_version.get_paths(), + 'versions': versions, + 'paths': sys.path, }) + return render_to_string('debug_toolbar/panels/versions.html', context) -- cgit v1.2.3