aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/debug/version.py
diff options
context:
space:
mode:
Diffstat (limited to 'debug_toolbar/debug/version.py')
-rw-r--r--debug_toolbar/debug/version.py34
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