1
- import sys
2
-
3
- import django
4
- from django .conf import settings
5
1
from django .template .loader import render_to_string
6
2
from django .utils .translation import ugettext_lazy as _
7
-
8
- import debug_toolbar
9
3
from debug_toolbar .panels import DebugPanel
10
-
4
+ from debug_toolbar . debug . version import DebugVersions
11
5
12
6
class VersionDebugPanel (DebugPanel ):
13
7
"""
@@ -16,44 +10,26 @@ class VersionDebugPanel(DebugPanel):
16
10
name = 'Version'
17
11
has_content = True
18
12
13
+ def __init__ (self , context = {}):
14
+ super (VersionDebugPanel , self ).__init__ (context )
15
+ self .debug_version = DebugVersions ()
16
+
19
17
def nav_title (self ):
20
18
return _ ('Versions' )
21
19
22
20
def nav_subtitle (self ):
23
- return 'Django %s' % django . get_version ()
21
+ return 'Django %s' % self . debug_version . django_version ()
24
22
25
23
def url (self ):
26
24
return ''
27
-
25
+
28
26
def title (self ):
29
27
return _ ('Versions' )
30
28
31
29
def content (self ):
32
- versions = {}
33
- for app in settings .INSTALLED_APPS + ['django' ]:
34
- name = app .split ('.' )[- 1 ].replace ('_' , ' ' ).capitalize ()
35
- __import__ (app )
36
- app = sys .modules [app ]
37
- if hasattr (app , 'get_version' ):
38
- get_version = app .get_version
39
- if callable (get_version ):
40
- version = get_version ()
41
- else :
42
- version = get_version
43
- elif hasattr (app , 'VERSION' ):
44
- version = app .VERSION
45
- elif hasattr (app , '__version__' ):
46
- version = app .__version__
47
- else :
48
- continue
49
- if isinstance (version , (list , tuple )):
50
- version = '.' .join (str (o ) for o in version )
51
- versions [name ] = version
52
-
53
30
context = self .context .copy ()
54
31
context .update ({
55
- 'versions' : versions ,
56
- 'paths' : sys . path ,
32
+ 'versions' : self . debug_version . get_versions () ,
33
+ 'paths' : self . debug_version . get_paths () ,
57
34
})
58
-
59
35
return render_to_string ('debug_toolbar/panels/versions.html' , context )
0 commit comments