diff options
| author | Bryan Chow | 2010-03-03 16:02:19 -0800 |
|---|---|---|
| committer | Bryan Chow | 2010-03-03 16:02:19 -0800 |
| commit | d05dcbb4aa93b1ce9d097ed8d537f06eb2491f5e (patch) | |
| tree | dc8335f4eb9f127037e74914fe792a567553f212 /debug_toolbar/debug/version.py | |
| parent | 7e8a4e195d4b0e3cabf0742b31e087a81712d12f (diff) | |
| download | django-debug-toolbar-d05dcbb4aa93b1ce9d097ed8d537f06eb2491f5e.tar.bz2 | |
Factor versions data out of VersionDebugPanel.
Diffstat (limited to 'debug_toolbar/debug/version.py')
| -rw-r--r-- | debug_toolbar/debug/version.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/debug_toolbar/debug/version.py b/debug_toolbar/debug/version.py new file mode 100644 index 0000000..0c17f58 --- /dev/null +++ b/debug_toolbar/debug/version.py @@ -0,0 +1,34 @@ +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 |
