Sat, 03 Oct 2015 19:07:40 +0200
Started implementing the vulture checker.
1
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
2 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
3 | # Copyright (c) 2015 Detlev Offenbach <detlev@die-offenbachs.de> |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
4 | # |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
5 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
6 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
7 | Module implementing the radon code metrics plug-in. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
8 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
9 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
10 | from __future__ import unicode_literals |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
11 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
12 | import os |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
13 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
14 | from PyQt5.QtCore import pyqtSignal, QObject, QTranslator |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
15 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
16 | from E5Gui.E5Application import e5App |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
17 | from E5Gui.E5Action import E5Action |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
18 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
19 | import Preferences |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
20 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
21 | # Start-Of-Header |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
22 | name = "PluginVulture" |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
23 | author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
24 | autoactivate = True |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
25 | deactivateable = True |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
26 | version = "0.1.0" |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
27 | className = "VulturePlugin" |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
28 | packageName = "VultureChecker" |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
29 | shortDescription = "Plug-in to detect unused code using the vulture library" |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
30 | longDescription = ( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
31 | """Plug-in to detect unused code using the vulture library.""" |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
32 | ) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
33 | needsRestart = False |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
34 | pyqtApi = 2 |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
35 | python2Compatible = True |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
36 | # End-Of-Header |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
37 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
38 | error = "" |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
39 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
40 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
41 | class VulturePlugin(QObject): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
42 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
43 | Class documentation goes here. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
44 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
45 | @signal metricsDone(str, dict) emitted when the code metrics were |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
46 | determined for a file |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
47 | @signal error(str, str) emitted in case of an error |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
48 | @signal batchFinished() emitted when a style check batch is done |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
49 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
50 | batchFinished = pyqtSignal() |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
51 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
52 | def __init__(self, ui): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
53 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
54 | Constructor |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
55 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
56 | @param ui reference to the user interface object (UI.UserInterface) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
57 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
58 | super(VulturePlugin, self).__init__(ui) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
59 | self.__ui = ui |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
60 | self.__initialize() |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
61 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
62 | self.backgroundService = e5App().getObject("BackgroundService") |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
63 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
64 | path = os.path.join(os.path.dirname(__file__), packageName) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
65 | try: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
66 | self.backgroundService.serviceConnect( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
67 | 'vulture', 'Python2', path, 'VultureCheckerService', |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
68 | self.vultureCheckDone, |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
69 | onErrorCallback=self.serviceErrorPy2, |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
70 | onBatchDone=self.batchJobDone) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
71 | self.backgroundService.serviceConnect( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
72 | 'vulture', 'Python3', path, 'VultureCheckerService', |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
73 | self.vultureCheckDone, |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
74 | onErrorCallback=self.serviceErrorPy3, |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
75 | onBatchDone=self.batchJobDone) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
76 | except TypeError: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
77 | # backward compatibility for eric 6.0 |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
78 | self.backgroundService.serviceConnect( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
79 | 'vulture', 'Python2', path, 'VultureCheckerService', |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
80 | self.vultureCheckDone, |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
81 | onErrorCallback=self.serviceErrorPy2) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
82 | self.backgroundService.serviceConnect( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
83 | 'vulture', 'Python3', path, 'VultureCheckerService', |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
84 | self.vultureCheckDone, |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
85 | onErrorCallback=self.serviceErrorPy3) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
86 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
87 | self.queuedBatches = [] |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
88 | self.batchesFinished = True |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
89 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
90 | self.__translator = None |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
91 | self.__loadTranslator() |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
92 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
93 | def __serviceError(self, fn, msg): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
94 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
95 | Private slot handling service errors. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
96 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
97 | @param fn file name |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
98 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
99 | @param msg message text |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
100 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
101 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
102 | self.error.emit(fn, msg) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
103 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
104 | def serviceErrorPy2(self, fx, lang, fn, msg): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
105 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
106 | Public slot handling service errors for Python 2. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
107 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
108 | @param fx service name |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
109 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
110 | @param lang language |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
111 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
112 | @param fn file name |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
113 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
114 | @param msg message text |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
115 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
116 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
117 | if fx in ['vulture', 'batch_vulture'] and \ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
118 | lang == 'Python2': |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
119 | if fx == 'vulture': |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
120 | self.__serviceError(fn, msg) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
121 | else: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
122 | self.__serviceError(self.tr("Python 2 batch job"), msg) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
123 | self.batchJobDone(fx, lang) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
124 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
125 | def serviceErrorPy3(self, fx, lang, fn, msg): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
126 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
127 | Public slot handling service errors for Python 3. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
128 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
129 | @param fx service name |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
130 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
131 | @param lang language |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
132 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
133 | @param fn file name |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
134 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
135 | @param msg message text |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
136 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
137 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
138 | if fx in ['vulture', 'batch_vulture'] and \ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
139 | lang == 'Python3': |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
140 | if fx == 'vulture': |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
141 | self.__serviceError(fn, msg) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
142 | else: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
143 | self.__serviceError(self.tr("Python 3 batch job"), msg) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
144 | self.batchJobDone(fx, lang) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
145 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
146 | def batchJobDone(self, fx, lang): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
147 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
148 | Public slot handling the completion of a batch job. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
149 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
150 | @param fx service name |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
151 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
152 | @param lang language |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
153 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
154 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
155 | if fx in ['vulture', 'batch_vulture']: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
156 | if lang in self.queuedBatches: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
157 | self.queuedBatches.remove(lang) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
158 | # prevent sending the signal multiple times |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
159 | if len(self.queuedBatches) == 0 and not self.batchesFinished: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
160 | self.batchFinished.emit() |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
161 | self.batchesFinished = True |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
162 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
163 | def __initialize(self): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
164 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
165 | Private slot to (re)initialize the plug-in. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
166 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
167 | self.__projectAct = None |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
168 | self.__projectVultureCheckerDialog = None |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
169 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
170 | def vultureCheck(self, lang, filenames): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
171 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
172 | Public method to prepare a vulture check for a Python project. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
173 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
174 | @param lang language of the files or None to determine by internal |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
175 | algorithm |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
176 | @type str or None |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
177 | @param filenames list of file names to include in the check |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
178 | @type list of str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
179 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
180 | # TODO: implement this |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
181 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
182 | def activate(self): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
183 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
184 | Public method to activate this plug-in. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
185 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
186 | @return tuple of None and activation status (boolean) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
187 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
188 | global error |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
189 | error = "" # clear previous error |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
190 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
191 | menu = e5App().getObject("Project").getMenu("Checks") |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
192 | if menu: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
193 | self.__projectAct = E5Action( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
194 | self.tr('Check Unused Code'), |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
195 | self.tr('&Unused Code...'), 0, 0, |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
196 | self, 'project_check_vulture') |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
197 | self.__projectAct.setStatusTip( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
198 | self.tr('Check for unused code')) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
199 | self.__projectAct.setWhatsThis(self.tr( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
200 | """<b>Check Unused Code...</b>""" |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
201 | """<p>This checks a Python project for unused code.</p>""" |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
202 | )) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
203 | self.__projectAct.triggered.connect( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
204 | self.__projectVultureCheck) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
205 | e5App().getObject("Project").addE5Actions([self.__projectAct]) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
206 | menu.addAction(self.__projectAct) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
207 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
208 | e5App().getObject("Project").showMenu.connect(self.__projectShowMenu) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
209 | e5App().getObject("Project").projectClosed.connect( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
210 | self.__projectClosed) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
211 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
212 | return None, True |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
213 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
214 | def deactivate(self): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
215 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
216 | Public method to deactivate this plug-in. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
217 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
218 | e5App().getObject("Project").showMenu.disconnect( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
219 | self.__projectShowMenu) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
220 | e5App().getObject("Project").projectClosed.disconnect( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
221 | self.__projectClosed) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
222 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
223 | menu = e5App().getObject("Project").getMenu("Show") |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
224 | if menu: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
225 | if self.__projectAct is not None: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
226 | menu.removeAction(self.__projectAct) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
227 | e5App().getObject("Project").removeE5Actions( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
228 | [self.self.__projectAct]) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
229 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
230 | def __loadTranslator(self): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
231 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
232 | Private method to load the translation file. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
233 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
234 | if self.__ui is not None: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
235 | loc = self.__ui.getLocale() |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
236 | if loc and loc != "C": |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
237 | locale_dir = os.path.join( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
238 | os.path.dirname(__file__), "VultureChecker", "i18n") |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
239 | translation = "vulture_{0}".format(loc) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
240 | translator = QTranslator(None) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
241 | loaded = translator.load(translation, locale_dir) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
242 | if loaded: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
243 | self.__translator = translator |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
244 | e5App().installTranslator(self.__translator) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
245 | else: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
246 | print("Warning: translation file '{0}' could not be" |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
247 | " loaded.".format(translation)) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
248 | print("Using default.") |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
249 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
250 | def __projectShowMenu(self, menuName, menu): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
251 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
252 | Private slot called, when the the project menu or a submenu is |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
253 | about to be shown. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
254 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
255 | @param menuName name of the menu to be shown |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
256 | @type str |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
257 | @param menu reference to the menu |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
258 | @type QMenu |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
259 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
260 | if menuName == "Check": |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
261 | if self.__projectAct is not None: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
262 | self.__projectAct.setEnabled( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
263 | e5App().getObject("Project").getProjectLanguage() in |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
264 | ["Python3", "Python2", "Python"]) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
265 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
266 | def __projectVultureCheck(self): |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
267 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
268 | Private slot used to check the project for unused code. |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
269 | """ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
270 | project = e5App().getObject("Project") |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
271 | project.saveAllScripts() |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
272 | ppath = project.getProjectPath() |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
273 | files = [os.path.join(ppath, file) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
274 | for file in project.pdata["SOURCES"] |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
275 | if file.endswith( |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
276 | tuple(Preferences.getPython("Python3Extensions")) + |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
277 | tuple(Preferences.getPython("PythonExtensions")))] |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
278 | |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
279 | if self.__projectVultureCheckerDialog is None: |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
280 | from VultureChecker.VultureCheckerDialog import \ |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
281 | VultureCheckerDialog |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
282 | self.__projectRawMetricsDialog = VultureCheckerDialog(self) |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
283 | self.__projectVultureCheckerDialog.show() |
ea6aed49cd69
Started implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
284 | self.__projectVultureCheckerDialog.prepare(files, project) |