diff options
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 | 
