diff options
| -rw-r--r-- | debug_toolbar/debug/version.py | 34 | ||||
| -rw-r--r-- | debug_toolbar/panels/version.py | 42 | 
2 files changed, 33 insertions, 43 deletions
| diff --git a/debug_toolbar/debug/version.py b/debug_toolbar/debug/version.py deleted file mode 100644 index 0c17f58..0000000 --- a/debug_toolbar/debug/version.py +++ /dev/null @@ -1,34 +0,0 @@ -import sys -from django import get_version -from django.conf import settings - -class DebugVersions(object): - -    def django_version(self): -        return get_version() - -    def get_versions(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 -        return versions - -    def get_paths(self): -        return sys.path 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) | 
