Thu, 13 May 2021 18:10:26 +0200
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
2 | |
75
e7ed383ac6a7
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
73
diff
changeset
|
3 | # Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
4 | # |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
5 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
6 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
7 | Module implementing the radon code metrics plug-in. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
8 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
9 | |
77
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
10 | import contextlib |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
11 | import os |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
12 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
13 | from PyQt5.QtCore import pyqtSignal, QObject, QTranslator |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
14 | from PyQt5.QtWidgets import QAction |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
15 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
16 | from E5Gui.E5Application import e5App |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
17 | from E5Gui.E5Action import E5Action |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
18 | from E5Gui import E5MessageBox |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
19 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
20 | from Project.ProjectBrowserModel import ProjectBrowserFileItem |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
21 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
22 | import Preferences |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
23 | from Utilities import determinePythonVersion |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
24 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
25 | # Start-Of-Header |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
26 | name = "Radon Metrics Plugin" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
27 | author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
28 | autoactivate = True |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
29 | deactivateable = True |
80
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
30 | version = "4.0.0" |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
31 | className = "RadonMetricsPlugin" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
32 | packageName = "RadonMetrics" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
33 | shortDescription = "Code metrics plugin using radon package" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
34 | longDescription = ( |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
35 | """This plug-in implements dialogs to show various code metrics. These""" |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
36 | """ are determined using the radon code metrics package. 'Raw code""" |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
37 | """ metrics', 'Maintainability Index' and 'McCabe Complexity' can be""" |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
38 | """ requested through different dialogs for one file or the whole""" |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
39 | """ project.""" |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
40 | ) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
41 | needsRestart = False |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
42 | pyqtApi = 2 |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
43 | # End-Of-Header |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
44 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
45 | error = "" |
42
04457b4ceda5
Updated copyright for 2017.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
40
diff
changeset
|
46 | |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
47 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
48 | class RadonMetricsPlugin(QObject): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
49 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
50 | Class implementing the radon code metrics plug-in. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
51 | |
4
9ac53bf21182
Continued implementing the raw code metrics stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
52 | @signal metricsDone(str, dict) emitted when the code metrics were |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
53 | determined for a file |
9
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
54 | @signal maintainabilityIndexDone(str, dict) emitted when the |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
55 | maintainability index was determined for a file |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
56 | @signal complexityDone(str, dict) emitted when the |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
57 | cyclomatic complexity was determined for a file |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
58 | @signal error(str, str, str) emitted in case of an error |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
59 | @signal batchFinished(str) emitted when a code metrics batch is done |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
60 | """ |
4
9ac53bf21182
Continued implementing the raw code metrics stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3
diff
changeset
|
61 | metricsDone = pyqtSignal(str, dict) |
9
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
62 | maintainabilityIndexDone = pyqtSignal(str, dict) |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
63 | complexityDone = pyqtSignal(str, dict) |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
64 | error = pyqtSignal(str, str, str) |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
65 | batchFinished = pyqtSignal(str) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
66 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
67 | def __init__(self, ui): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
68 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
69 | Constructor |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
70 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
71 | @param ui reference to the user interface object |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
72 | @type UI.UserInterface |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
73 | """ |
77
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
74 | super().__init__(ui) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
75 | self.__ui = ui |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
76 | self.__initialize() |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
77 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
78 | self.backgroundService = e5App().getObject("BackgroundService") |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
79 | |
3
7150ed890fd5
Started implementing the raw code metrics stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
80 | path = os.path.join(os.path.dirname(__file__), packageName) |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
81 | |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
82 | # raw code metrics calculation |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
83 | self.backgroundService.serviceConnect( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
84 | 'radon_raw', 'Python3', path, 'CodeMetricsCalculator', |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
85 | lambda fn, res: self.metricsCalculationDone("raw", fn, res), |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
86 | onErrorCallback=lambda fx, lang, fn, msg: self.serviceErrorPy3( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
87 | "raw", fx, lang, fn, msg), |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
88 | onBatchDone=lambda fx, lang: self.batchJobDone( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
89 | "raw", fx, lang)) |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
90 | |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
91 | # maintainability index calculation |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
92 | self.backgroundService.serviceConnect( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
93 | 'radon_mi', 'Python3', path, 'MaintainabilityIndexCalculator', |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
94 | lambda fn, res: self.metricsCalculationDone("mi", fn, res), |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
95 | onErrorCallback=lambda fx, lang, fn, msg: self.serviceErrorPy3( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
96 | "mi", fx, lang, fn, msg), |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
97 | onBatchDone=lambda fx, lang: self.batchJobDone( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
98 | "mi", fx, lang)) |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
99 | |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
100 | # cyclomatic complexity |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
101 | self.backgroundService.serviceConnect( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
102 | 'radon_cc', 'Python3', path, 'CyclomaticComplexityCalculator', |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
103 | lambda fn, res: self.metricsCalculationDone("cc", fn, res), |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
104 | onErrorCallback=lambda fx, lang, fn, msg: self.serviceErrorPy3( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
105 | "cc", fx, lang, fn, msg), |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
106 | onBatchDone=lambda fx, lang: self.batchJobDone( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
107 | "cc", fx, lang)) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
108 | |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
109 | self.queuedBatches = { |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
110 | "raw": [], |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
111 | "mi": [], |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
112 | "cc": [], |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
113 | } |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
114 | self.batchesFinished = { |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
115 | "raw": True, |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
116 | "mi": True, |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
117 | "cc": True, |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
118 | } |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
119 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
120 | self.__translator = None |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
121 | self.__loadTranslator() |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
122 | |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
123 | def __serviceError(self, type_, fn, msg): |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
124 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
125 | Private slot handling service errors. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
126 | |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
127 | @param type_ type of the calculated metrics |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
128 | @type str, one of ["raw", "mi", "cc"] |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
129 | @param fn file name |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
130 | @type str |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
131 | @param msg message text |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
132 | @type str |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
133 | """ |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
134 | self.error.emit(type_, fn, msg) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
135 | |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
136 | def serviceErrorPy3(self, type_, fx, lang, fn, msg): |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
137 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
138 | Public slot handling service errors for Python 3. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
139 | |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
140 | @param type_ type of the calculated metrics |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
141 | @type str, one of ["raw", "mi", "cc"] |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
142 | @param fx service name |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
143 | @type str |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
144 | @param lang language |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
145 | @type str |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
146 | @param fn file name |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
147 | @type str |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
148 | @param msg message text |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
149 | @type str |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
150 | """ |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
151 | if fx in ['radon_' + type_, 'batch_radon_' + type_]: |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
152 | if fx == 'radon_' + type_: |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
153 | self.__serviceError(type_, fn, msg) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
154 | else: |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
155 | self.__serviceError(type_, self.tr("Python 3 batch job"), msg) |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
156 | self.batchJobDone(type_, fx, lang) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
157 | |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
158 | def batchJobDone(self, type_, fx, lang): |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
159 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
160 | Public slot handling the completion of a batch job. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
161 | |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
162 | @param type_ type of the calculated metrics |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
163 | @type str, one of ["raw", "mi", "cc"] |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
164 | @param fx service name |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
165 | @type str |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
166 | @param lang language |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
167 | @type str |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
168 | """ |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
169 | if fx in ['radon_' + type_, 'batch_radon_' + type_]: |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
170 | if lang in self.queuedBatches[type_]: |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
171 | self.queuedBatches[type_].remove(lang) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
172 | # prevent sending the signal multiple times |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
173 | if ( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
174 | len(self.queuedBatches[type_]) == 0 and |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
175 | not self.batchesFinished[type_] |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
176 | ): |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
177 | self.batchFinished.emit(type_) |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
178 | self.batchesFinished[type_] = True |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
179 | |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
180 | def metricsCalculationDone(self, type_, filename, result): |
9
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
181 | """ |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
182 | Public slot to dispatch the result. |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
183 | |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
184 | @param type_ type of the calculated metrics |
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
185 | @type str, one of ["raw", "mi", "cc"] |
9
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
186 | @param filename name of the file the results belong to |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
187 | @type str |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
188 | @param result result dictionary |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
189 | @type dict |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
190 | """ |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
191 | if type_ == "raw": |
9
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
192 | self.metricsDone.emit(filename, result) |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
193 | elif type_ == "mi": |
9
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
194 | self.maintainabilityIndexDone.emit(filename, result) |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
195 | elif type_ == "cc": |
9
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
196 | self.complexityDone.emit(filename, result) |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
197 | else: |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
198 | self.error.emit( |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
199 | type_, |
9
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
200 | filename, |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
201 | self.tr("Unknown metrics result received ({0}).").format( |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
202 | type_) |
9
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
203 | ) |
7f6e04213998
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6
diff
changeset
|
204 | |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
205 | def __initialize(self): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
206 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
207 | Private slot to (re)initialize the plugin. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
208 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
209 | self.__projectRawMetricsDialog = None |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
210 | self.__projectMIDialog = None |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
211 | self.__projectCCDialog = None |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
212 | self.__projectMetricsActs = [] |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
213 | self.__projectSeparatorActs = [] |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
214 | |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
215 | self.__projectBrowserRawMetricsDialog = None |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
216 | self.__projectBrowserMIDialog = None |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
217 | self.__projectBrowserCCDialog = None |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
218 | self.__projectBrowserMenu = None |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
219 | self.__projectBrowserMetricsActs = [] |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
220 | self.__projectBrowserSeparatorActs = [] |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
221 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
222 | self.__editors = [] |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
223 | self.__editorRawMetricsDialog = None |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
224 | self.__editorMIDialog = None |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
225 | self.__editorCCDialog = None |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
226 | self.__editorMetricsActs = [] |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
227 | self.__editorSeparatorActs = [] |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
228 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
229 | def rawMetrics(self, lang, filename, source): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
230 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
231 | Public method to prepare raw code metrics calculation on one Python |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
232 | source file. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
233 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
234 | @param lang language of the file or None to determine by internal |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
235 | algorithm |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
236 | @type str or None |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
237 | @param filename source filename |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
238 | @type str |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
239 | @param source string containing the code |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
240 | @type str |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
241 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
242 | if lang is None: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
243 | lang = 'Python{0}'.format(determinePythonVersion(filename, source)) |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
244 | if lang == 'Python3': |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
245 | self.backgroundService.enqueueRequest( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
246 | 'radon_raw', lang, filename, [source]) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
247 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
248 | def rawMetricsBatch(self, argumentsList): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
249 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
250 | Public method to prepare raw code metrics calculation on multiple |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
251 | Python source files. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
252 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
253 | @param argumentsList list of arguments tuples with each tuple |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
254 | containing filename and source |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
255 | @type (str, str) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
256 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
257 | data = { |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
258 | "Python3": [], |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
259 | } |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
260 | for filename, source in argumentsList: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
261 | lang = 'Python{0}'.format(determinePythonVersion(filename, source)) |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
262 | if lang == 'Python3': |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
263 | data[lang].append((filename, source)) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
264 | |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
265 | self.queuedBatches["raw"] = [] |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
266 | if data[lang]: |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
267 | self.queuedBatches["raw"].append('Python3') |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
268 | self.backgroundService.enqueueRequest( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
269 | 'batch_radon_raw', 'Python3', "", data['Python3']) |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
270 | self.batchesFinished["raw"] = False |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
271 | |
3
7150ed890fd5
Started implementing the raw code metrics stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2
diff
changeset
|
272 | def cancelRawMetricsBatch(self): |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
273 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
274 | Public method to cancel all batch jobs. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
275 | """ |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
276 | self.backgroundService.requestCancel('batch_radon_raw', 'Python3') |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
277 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
278 | def maintainabilityIndex(self, lang, filename, source): |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
279 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
280 | Public method to prepare maintainability index calculation on one |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
281 | Python source file. |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
282 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
283 | @param lang language of the file or None to determine by internal |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
284 | algorithm |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
285 | @type str or None |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
286 | @param filename source filename |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
287 | @type str |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
288 | @param source string containing the code |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
289 | @type str |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
290 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
291 | if lang is None: |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
292 | lang = 'Python{0}'.format(determinePythonVersion(filename, source)) |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
293 | if lang == 'Python3': |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
294 | self.backgroundService.enqueueRequest( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
295 | 'radon_mi', lang, filename, [source]) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
296 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
297 | def maintainabilityIndexBatch(self, argumentsList): |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
298 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
299 | Public method to prepare maintainability index calculation on multiple |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
300 | Python source files. |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
301 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
302 | @param argumentsList list of arguments tuples with each tuple |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
303 | containing filename and source |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
304 | @type (str, str) |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
305 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
306 | data = { |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
307 | "Python3": [], |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
308 | } |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
309 | for filename, source in argumentsList: |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
310 | lang = 'Python{0}'.format(determinePythonVersion(filename, source)) |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
311 | if lang == 'Python3': |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
312 | data[lang].append((filename, source)) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
313 | |
10
8b1920a22df3
Changed the logic for the various code metrics calculations to be separate services and fine tuned the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9
diff
changeset
|
314 | self.queuedBatches["mi"] = [] |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
315 | if data['Python3']: |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
316 | self.queuedBatches["mi"].append('Python3') |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
317 | self.backgroundService.enqueueRequest( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
318 | 'batch_radon_mi', 'Python3', "", data['Python3']) |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
319 | self.batchesFinished["mi"] = False |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
320 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
321 | def cancelMaintainabilityIndexBatch(self): |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
322 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
323 | Public method to cancel all batch jobs. |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
324 | """ |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
325 | self.backgroundService.requestCancel('batch_radon_mi', 'Python3') |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
326 | |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
327 | def cyclomaticComplexity(self, lang, filename, source): |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
328 | """ |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
329 | Public method to prepare cyclomatic complexity calculation on one |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
330 | Python source file. |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
331 | |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
332 | @param lang language of the file or None to determine by internal |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
333 | algorithm |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
334 | @type str or None |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
335 | @param filename source filename |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
336 | @type str |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
337 | @param source string containing the code |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
338 | @type str |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
339 | """ |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
340 | if lang is None: |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
341 | lang = 'Python{0}'.format(determinePythonVersion(filename, source)) |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
342 | if lang == 'Python3': |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
343 | self.backgroundService.enqueueRequest( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
344 | 'radon_cc', lang, filename, [source]) |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
345 | |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
346 | def cyclomaticComplexityBatch(self, argumentsList): |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
347 | """ |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
348 | Public method to prepare cyclomatic complexity calculation on multiple |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
349 | Python source files. |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
350 | |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
351 | @param argumentsList list of arguments tuples with each tuple |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
352 | containing filename and source |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
353 | @type (str, str) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
354 | """ |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
355 | data = { |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
356 | "Python3": [], |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
357 | } |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
358 | for filename, source in argumentsList: |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
359 | lang = 'Python{0}'.format(determinePythonVersion(filename, source)) |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
360 | if lang == 'Python3': |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
361 | data[lang].append((filename, source)) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
362 | |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
363 | self.queuedBatches["raw"] = [] |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
364 | if data['Python3']: |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
365 | self.queuedBatches["cc"].append('Python3') |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
366 | self.backgroundService.enqueueRequest( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
367 | 'batch_radon_cc', 'Python3', "", data['Python3']) |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
368 | self.batchesFinished["cc"] = False |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
369 | |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
370 | def cancelComplexityBatch(self): |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
371 | """ |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
372 | Public method to cancel all batch jobs. |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
373 | """ |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
374 | self.backgroundService.requestCancel('batch_radon_cc', 'Python3') |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
375 | |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
376 | def activate(self): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
377 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
378 | Public method to activate this plug-in. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
379 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
380 | @return tuple of None and activation status |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
381 | @rtype (None, bool) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
382 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
383 | global error |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
384 | error = "" # clear previous error |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
385 | |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
386 | # Project menu actions |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
387 | menu = e5App().getObject("Project").getMenu("Show") |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
388 | if menu: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
389 | if not menu.isEmpty(): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
390 | act = menu.addSeparator() |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
391 | self.__projectSeparatorActs.append(act) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
392 | |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
393 | # header action |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
394 | act = QAction(self.tr("Radon"), self) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
395 | font = act.font() |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
396 | font.setBold(True) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
397 | act.setFont(font) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
398 | act.triggered.connect(self.__showRadonVersion) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
399 | menu.addAction(act) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
400 | self.__projectMetricsActs.append(act) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
401 | |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
402 | act = E5Action( |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
403 | self.tr('Code Metrics'), |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
404 | self.tr('Code &Metrics...'), 0, 0, |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
405 | self, 'project_show_radon_raw') |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
406 | act.setStatusTip( |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
407 | self.tr('Show raw code metrics.')) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
408 | act.setWhatsThis(self.tr( |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
409 | """<b>Code Metrics...</b>""" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
410 | """<p>This calculates raw code metrics of Python files""" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
411 | """ and shows the amount of lines of code, logical lines""" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
412 | """ of code, source lines of code, comment lines,""" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
413 | """ multi-line strings and blank lines.</p>""" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
414 | )) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
415 | act.triggered.connect(self.__projectRawMetrics) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
416 | menu.addAction(act) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
417 | self.__projectMetricsActs.append(act) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
418 | |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
419 | act = E5Action( |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
420 | self.tr('Maintainability Index'), |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
421 | self.tr('Maintainability &Index...'), 0, 0, |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
422 | self, 'project_show_radon_mi') |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
423 | act.setStatusTip( |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
424 | self.tr('Show the maintainability index for Python files.')) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
425 | act.setWhatsThis(self.tr( |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
426 | """<b>Maintainability Index...</b>""" |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
427 | """<p>This calculates the maintainability index of Python""" |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
428 | """ files and shows it together with a ranking.</p>""" |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
429 | )) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
430 | act.triggered.connect(self.__projectMaintainabilityIndex) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
431 | menu.addAction(act) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
432 | self.__projectMetricsActs.append(act) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
433 | |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
434 | act = E5Action( |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
435 | self.tr('Cyclomatic Complexity'), |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
436 | self.tr('Cyclomatic &Complexity...'), 0, 0, |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
437 | self, 'project_show_radon_cc') |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
438 | act.setStatusTip( |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
439 | self.tr('Show the cyclomatic complexity for Python files.')) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
440 | act.setWhatsThis(self.tr( |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
441 | """<b>Cyclomatic Complexity...</b>""" |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
442 | """<p>This calculates the cyclomatic complexity of Python""" |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
443 | """ files and shows it together with a ranking.</p>""" |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
444 | )) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
445 | act.triggered.connect(self.__projectCyclomaticComplexity) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
446 | menu.addAction(act) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
447 | self.__projectMetricsActs.append(act) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
448 | |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
449 | act = menu.addSeparator() |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
450 | self.__projectSeparatorActs.append(act) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
451 | |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
452 | e5App().getObject("Project").addE5Actions( |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
453 | self.__projectMetricsActs[1:]) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
454 | |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
455 | # Editor menu actions |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
456 | act = QAction(self) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
457 | act.setSeparator(True) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
458 | self.__editorSeparatorActs.append(act) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
459 | act = QAction(self) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
460 | act.setSeparator(True) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
461 | self.__editorSeparatorActs.append(act) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
462 | |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
463 | # header action |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
464 | act = QAction(self.tr("Radon"), self) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
465 | font = act.font() |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
466 | font.setBold(True) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
467 | act.setFont(font) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
468 | act.triggered.connect(self.__showRadonVersion) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
469 | self.__editorMetricsActs.append(act) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
470 | |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
471 | act = E5Action( |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
472 | self.tr('Code Metrics'), |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
473 | self.tr('Code &Metrics...'), 0, 0, |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
474 | self, "") |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
475 | act.setStatusTip( |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
476 | self.tr('Show raw code metrics.')) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
477 | act.setWhatsThis(self.tr( |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
478 | """<b>Code Metrics...</b>""" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
479 | """<p>This calculates raw code metrics of Python files""" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
480 | """ and shows the amount of lines of code, logical lines""" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
481 | """ of code, source lines of code, comment lines,""" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
482 | """ multi-line strings and blank lines.</p>""" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
483 | )) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
484 | act.triggered.connect(self.__editorRawMetrics) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
485 | self.__editorMetricsActs.append(act) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
486 | |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
487 | act = E5Action( |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
488 | self.tr('Maintainability Index'), |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
489 | self.tr('Maintainability &Index...'), 0, 0, |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
490 | self, "") |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
491 | act.setStatusTip( |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
492 | self.tr('Show the maintainability index for Python files.')) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
493 | act.setWhatsThis(self.tr( |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
494 | """<b>Maintainability Index...</b>""" |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
495 | """<p>This calculates the maintainability index of Python""" |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
496 | """ files and shows it together with a ranking.</p>""" |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
497 | )) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
498 | act.triggered.connect(self.__editorMaintainabilityIndex) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
499 | self.__editorMetricsActs.append(act) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
500 | |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
501 | act = E5Action( |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
502 | self.tr('Cyclomatic Complexity'), |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
503 | self.tr('Cyclomatic &Complexity...'), 0, 0, |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
504 | self, '') |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
505 | act.setStatusTip( |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
506 | self.tr('Show the cyclomatic complexity for Python files.')) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
507 | act.setWhatsThis(self.tr( |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
508 | """<b>Cyclomatic Complexity...</b>""" |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
509 | """<p>This calculates the cyclomatic complexity of Python""" |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
510 | """ files and shows it together with a ranking.</p>""" |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
511 | )) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
512 | act.triggered.connect(self.__editorCyclomaticComplexity) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
513 | self.__editorMetricsActs.append(act) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
514 | |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
515 | e5App().getObject("Project").showMenu.connect(self.__projectShowMenu) |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
516 | e5App().getObject("Project").projectClosed.connect( |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
517 | self.__projectClosed) |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
518 | e5App().getObject("ProjectBrowser").getProjectBrowser( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
519 | "sources").showMenu.connect(self.__projectBrowserShowMenu) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
520 | e5App().getObject("ViewManager").editorOpenedEd.connect( |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
521 | self.__editorOpened) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
522 | e5App().getObject("ViewManager").editorClosedEd.connect( |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
523 | self.__editorClosed) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
524 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
525 | for editor in e5App().getObject("ViewManager").getOpenEditors(): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
526 | self.__editorOpened(editor) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
527 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
528 | return None, True |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
529 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
530 | def deactivate(self): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
531 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
532 | Public method to deactivate this plug-in. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
533 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
534 | e5App().getObject("Project").showMenu.disconnect( |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
535 | self.__projectShowMenu) |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
536 | e5App().getObject("Project").projectClosed.disconnect( |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
537 | self.__projectClosed) |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
538 | e5App().getObject("ProjectBrowser").getProjectBrowser( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
539 | "sources").showMenu.disconnect(self.__projectBrowserShowMenu) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
540 | e5App().getObject("ViewManager").editorOpenedEd.disconnect( |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
541 | self.__editorOpened) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
542 | e5App().getObject("ViewManager").editorClosedEd.disconnect( |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
543 | self.__editorClosed) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
544 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
545 | menu = e5App().getObject("Project").getMenu("Show") |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
546 | if menu: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
547 | for sep in self.__projectSeparatorActs: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
548 | menu.removeAction(sep) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
549 | for act in self.__projectMetricsActs: |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
550 | menu.removeAction(act) |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
551 | e5App().getObject("Project").removeE5Actions( |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
552 | self.__projectMetricsActs[1:]) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
553 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
554 | if self.__projectBrowserMenu: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
555 | for sep in self.__projectBrowserSeparatorActs: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
556 | self.__projectBrowserMenu.removeAction(sep) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
557 | for act in self.__projectBrowserMetricsActs: |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
558 | self.__projectBrowserMenu.removeAction(act) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
559 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
560 | for editor in self.__editors: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
561 | editor.showMenu.disconnect(self.__editorShowMenu) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
562 | menu = editor.getMenu("Show") |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
563 | if menu is not None: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
564 | for sep in self.__editorSeparatorActs: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
565 | menu.removeAction(sep) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
566 | for act in self.__editorMetricsActs: |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
567 | menu.removeAction(act) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
568 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
569 | self.__initialize() |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
570 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
571 | def __loadTranslator(self): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
572 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
573 | Private method to load the translation file. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
574 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
575 | if self.__ui is not None: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
576 | loc = self.__ui.getLocale() |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
577 | if loc and loc != "C": |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
578 | locale_dir = os.path.join( |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
579 | os.path.dirname(__file__), "RadonMetrics", "i18n") |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
580 | translation = "radon_{0}".format(loc) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
581 | translator = QTranslator(None) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
582 | loaded = translator.load(translation, locale_dir) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
583 | if loaded: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
584 | self.__translator = translator |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
585 | e5App().installTranslator(self.__translator) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
586 | else: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
587 | print("Warning: translation file '{0}' could not be" |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
588 | " loaded.".format(translation)) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
589 | print("Using default.") |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
590 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
591 | def __projectShowMenu(self, menuName, menu): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
592 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
593 | Private slot called, when the the project menu or a submenu is |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
594 | about to be shown. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
595 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
596 | @param menuName name of the menu to be shown |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
597 | @type str |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
598 | @param menu reference to the menu |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
599 | @type QMenu |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
600 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
601 | if menuName == "Show": |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
602 | for act in self.__projectMetricsActs[1:]: |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
603 | act.setEnabled( |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
604 | e5App().getObject("Project").getProjectLanguage() == |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
605 | "Python3") |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
606 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
607 | def __projectBrowserShowMenu(self, menuName, menu): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
608 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
609 | Private slot called, when the the project browser context menu or a |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
610 | submenu is about to be shown. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
611 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
612 | @param menuName name of the menu to be shown (string) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
613 | @param menu reference to the menu (QMenu) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
614 | """ |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
615 | if ( |
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
616 | menuName == "Show" and |
77
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
617 | e5App().getObject("Project").getProjectLanguage() == "Python3" and |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
618 | self.__projectBrowserMenu is None |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
619 | ): |
77
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
620 | self.__projectBrowserMenu = menu |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
621 | |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
622 | act = menu.addSeparator() |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
623 | self.__projectBrowserSeparatorActs.append(act) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
624 | |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
625 | # header action |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
626 | act = QAction(self.tr("Radon"), self) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
627 | font = act.font() |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
628 | font.setBold(True) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
629 | act.setFont(font) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
630 | act.triggered.connect(self.__showRadonVersion) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
631 | menu.addAction(act) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
632 | self.__projectBrowserMetricsActs.append(act) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
633 | |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
634 | act = E5Action( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
635 | self.tr('Code Metrics'), |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
636 | self.tr('Code &Metrics...'), 0, 0, |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
637 | self, '') |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
638 | act.setStatusTip(self.tr( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
639 | 'Show raw code metrics.')) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
640 | act.setWhatsThis(self.tr( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
641 | """<b>Code Metrics...</b>""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
642 | """<p>This calculates raw code metrics of Python files""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
643 | """ and shows the amount of lines of code, logical lines""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
644 | """ of code, source lines of code, comment lines,""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
645 | """ multi-line strings and blank lines.</p>""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
646 | )) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
647 | act.triggered.connect(self.__projectBrowserRawMetrics) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
648 | menu.addAction(act) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
649 | self.__projectBrowserMetricsActs.append(act) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
650 | |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
651 | act = E5Action( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
652 | self.tr('Maintainability Index'), |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
653 | self.tr('Maintainability &Index...'), 0, 0, |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
654 | self, '') |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
655 | act.setStatusTip(self.tr( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
656 | 'Show the maintainability index for Python files.')) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
657 | act.setWhatsThis(self.tr( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
658 | """<b>Maintainability Index...</b>""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
659 | """<p>This calculates the maintainability index of""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
660 | """ Python files and shows it together with a ranking.""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
661 | """</p>""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
662 | )) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
663 | act.triggered.connect( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
664 | self.__projectBrowserMaintainabilityIndex) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
665 | menu.addAction(act) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
666 | self.__projectBrowserMetricsActs.append(act) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
667 | |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
668 | act = E5Action( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
669 | self.tr('Cyclomatic Complexity'), |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
670 | self.tr('Cyclomatic &Complexity...'), 0, 0, |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
671 | self, '') |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
672 | act.setStatusTip(self.tr( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
673 | 'Show the cyclomatic complexity for Python files.')) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
674 | act.setWhatsThis(self.tr( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
675 | """<b>Cyclomatic Complexity...</b>""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
676 | """<p>This calculates the cyclomatic complexity of""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
677 | """ Python files and shows it together with a ranking.""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
678 | """</p>""" |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
679 | )) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
680 | act.triggered.connect( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
681 | self.__projectBrowserCyclomaticComplexity) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
682 | menu.addAction(act) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
683 | self.__projectBrowserMetricsActs.append(act) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
684 | |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
685 | act = menu.addSeparator() |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
686 | self.__projectBrowserSeparatorActs.append(act) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
687 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
688 | def __editorOpened(self, editor): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
689 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
690 | Private slot called, when a new editor was opened. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
691 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
692 | @param editor reference to the new editor |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
693 | @type QScintilla.Editor |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
694 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
695 | menu = editor.getMenu("Show") |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
696 | if menu is not None: |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
697 | menu.addAction(self.__editorSeparatorActs[0]) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
698 | menu.addActions(self.__editorMetricsActs) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
699 | menu.addAction(self.__editorSeparatorActs[1]) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
700 | editor.showMenu.connect(self.__editorShowMenu) |
55
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
701 | editor.editorRenamed.connect(lambda: self.__editorRenamed(editor)) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
702 | self.__editors.append(editor) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
703 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
704 | def __editorClosed(self, editor): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
705 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
706 | Private slot called, when an editor was closed. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
707 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
708 | @param editor reference to the editor (QScintilla.Editor) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
709 | """ |
77
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
710 | with contextlib.suppress(ValueError): |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
711 | self.__editors.remove(editor) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
712 | |
55
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
713 | def __editorRenamed(self, editor): |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
714 | """ |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
715 | Private slot called, when an editor was renamed. |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
716 | |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
717 | @param editor reference to the renamed editor |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
718 | @type QScintilla.Editor |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
719 | """ |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
720 | menu = editor.getMenu("Show") |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
721 | if menu is not None: |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
722 | menu.addAction(self.__editorSeparatorActs[0]) |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
723 | menu.addActions(self.__editorMetricsActs) |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
724 | menu.addAction(self.__editorSeparatorActs[1]) |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
725 | |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
726 | def __editorShowMenu(self, menuName, menu, editor): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
727 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
728 | Private slot called, when the the editor context menu or a submenu is |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
729 | about to be shown. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
730 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
731 | @param menuName name of the menu to be shown (string) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
732 | @param menu reference to the menu (QMenu) |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
733 | @param editor reference to the editor |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
734 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
735 | if menuName == "Show": |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
736 | enable = editor.isPyFile() |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
737 | for act in self.__editorMetricsActs: |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
738 | act.setEnabled(enable) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
739 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
740 | ################################################################## |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
741 | ## Raw code metrics calculations |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
742 | ################################################################## |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
743 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
744 | def __projectRawMetrics(self): |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
745 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
746 | Private slot used to calculate raw code metrics for the project. |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
747 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
748 | project = e5App().getObject("Project") |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
749 | project.saveAllScripts() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
750 | ppath = project.getProjectPath() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
751 | files = [os.path.join(ppath, file) |
38
75d13fd03888
Eliminated direct access to the pdata structure of the Project class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
37
diff
changeset
|
752 | for file in project.getSources() |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
753 | if file.endswith( |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
754 | tuple(Preferences.getPython("Python3Extensions")) + |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
755 | tuple(Preferences.getPython("PythonExtensions")))] |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
756 | |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
757 | if self.__projectRawMetricsDialog is None: |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
758 | from RadonMetrics.RawMetricsDialog import RawMetricsDialog |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
759 | self.__projectRawMetricsDialog = RawMetricsDialog(self) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
760 | self.__projectRawMetricsDialog.show() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
761 | self.__projectRawMetricsDialog.prepare(files, project) |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
762 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
763 | def __projectBrowserRawMetrics(self): |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
764 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
765 | Private method to handle the code metrics context menu action of the |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
766 | project sources browser. |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
767 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
768 | browser = e5App().getObject("ProjectBrowser").getProjectBrowser( |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
769 | "sources") |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
770 | if browser.getSelectedItemsCount([ProjectBrowserFileItem]) > 1: |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
771 | fn = [] |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
772 | for itm in browser.getSelectedItems([ProjectBrowserFileItem]): |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
773 | fn.append(itm.fileName()) |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
774 | else: |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
775 | itm = browser.model().item(browser.currentIndex()) |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
776 | try: |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
777 | fn = itm.fileName() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
778 | except AttributeError: |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
779 | fn = itm.dirName() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
780 | |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
781 | if self.__projectBrowserRawMetricsDialog is None: |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
782 | from RadonMetrics.RawMetricsDialog import RawMetricsDialog |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
783 | self.__projectBrowserRawMetricsDialog = RawMetricsDialog(self) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
784 | self.__projectBrowserRawMetricsDialog.show() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
785 | self.__projectBrowserRawMetricsDialog.start(fn) |
2
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
786 | |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
787 | def __editorRawMetrics(self): |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
788 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
789 | Private slot to handle the raw code metrics action of the editor show |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
790 | menu. |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
791 | """ |
1ad320a50a01
Implemented the main plug-in script.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
792 | editor = e5App().getObject("ViewManager").activeWindow() |
77
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
793 | if ( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
794 | editor is not None and |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
795 | editor.checkDirty() and |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
796 | editor.getFileName() is not None |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
797 | ): |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
798 | if self.__editorRawMetricsDialog is None: |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
799 | from RadonMetrics.RawMetricsDialog import RawMetricsDialog |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
800 | self.__editorRawMetricsDialog = RawMetricsDialog(self) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
801 | self.__editorRawMetricsDialog.show() |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
802 | self.__editorRawMetricsDialog.start(editor.getFileName()) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
803 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
804 | ################################################################## |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
805 | ## Maintainability index calculations |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
806 | ################################################################## |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
807 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
808 | def __projectMaintainabilityIndex(self): |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
809 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
810 | Private slot used to calculate the maintainability indexes for the |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
811 | project. |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
812 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
813 | project = e5App().getObject("Project") |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
814 | project.saveAllScripts() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
815 | ppath = project.getProjectPath() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
816 | files = [os.path.join(ppath, file) |
38
75d13fd03888
Eliminated direct access to the pdata structure of the Project class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
37
diff
changeset
|
817 | for file in project.getSources() |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
818 | if file.endswith( |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
819 | tuple(Preferences.getPython("Python3Extensions")) + |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
820 | tuple(Preferences.getPython("PythonExtensions")))] |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
821 | |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
822 | if self.__projectMIDialog is None: |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
823 | from RadonMetrics.MaintainabilityIndexDialog import ( |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
824 | MaintainabilityIndexDialog |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
825 | ) |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
826 | self.__projectMIDialog = MaintainabilityIndexDialog(self) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
827 | self.__projectMIDialog.show() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
828 | self.__projectMIDialog.prepare(files, project) |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
829 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
830 | def __projectBrowserMaintainabilityIndex(self): |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
831 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
832 | Private method to handle the maintainability index context menu action |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
833 | of the project sources browser. |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
834 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
835 | browser = e5App().getObject("ProjectBrowser").getProjectBrowser( |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
836 | "sources") |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
837 | if browser.getSelectedItemsCount([ProjectBrowserFileItem]) > 1: |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
838 | fn = [] |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
839 | for itm in browser.getSelectedItems([ProjectBrowserFileItem]): |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
840 | fn.append(itm.fileName()) |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
841 | else: |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
842 | itm = browser.model().item(browser.currentIndex()) |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
843 | try: |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
844 | fn = itm.fileName() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
845 | except AttributeError: |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
846 | fn = itm.dirName() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
847 | |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
848 | if self.__projectBrowserMIDialog is None: |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
849 | from RadonMetrics.MaintainabilityIndexDialog import ( |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
850 | MaintainabilityIndexDialog |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
851 | ) |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
852 | self.__projectBrowserMIDialog = MaintainabilityIndexDialog(self) |
6
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
853 | self.__projectBrowserMIDialog.show() |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
854 | self.__projectBrowserMIDialog.start(fn) |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
855 | |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
856 | def __editorMaintainabilityIndex(self): |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
857 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
858 | Private slot to handle the maintainability index action of the editor |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
859 | show menu. |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
860 | """ |
13e9698a9981
Started implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4
diff
changeset
|
861 | editor = e5App().getObject("ViewManager").activeWindow() |
77
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
862 | if ( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
863 | editor is not None and |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
864 | editor.checkDirty() and |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
865 | editor.getFileName() is not None |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
866 | ): |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
867 | if self.__editorMIDialog is None: |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
868 | from RadonMetrics.MaintainabilityIndexDialog import ( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
869 | MaintainabilityIndexDialog |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
870 | ) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
871 | self.__editorMIDialog = MaintainabilityIndexDialog(self) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
872 | self.__editorMIDialog.show() |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
873 | self.__editorMIDialog.start(editor.getFileName()) |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
874 | |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
875 | ################################################################## |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
876 | ## Cyclomatic complexity calculations |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
877 | ################################################################## |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
878 | |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
879 | def __projectCyclomaticComplexity(self): |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
880 | """ |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
881 | Private slot used to calculate the cyclomatic complexity for the |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
882 | project. |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
883 | """ |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
884 | project = e5App().getObject("Project") |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
885 | project.saveAllScripts() |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
886 | ppath = project.getProjectPath() |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
887 | files = [os.path.join(ppath, file) |
38
75d13fd03888
Eliminated direct access to the pdata structure of the Project class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
37
diff
changeset
|
888 | for file in project.getSources() |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
889 | if file.endswith( |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
890 | tuple(Preferences.getPython("Python3Extensions")) + |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
891 | tuple(Preferences.getPython("PythonExtensions")))] |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
892 | |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
893 | if self.__projectCCDialog is None: |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
894 | from RadonMetrics.CyclomaticComplexityDialog import ( |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
895 | CyclomaticComplexityDialog |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
896 | ) |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
897 | self.__projectCCDialog = CyclomaticComplexityDialog(self) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
898 | self.__projectCCDialog.show() |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
899 | self.__projectCCDialog.prepare(files, project) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
900 | |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
901 | def __projectBrowserCyclomaticComplexity(self): |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
902 | """ |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
903 | Private method to handle the cyclomatic complexity context menu action |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
904 | of the project sources browser. |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
905 | """ |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
906 | browser = e5App().getObject("ProjectBrowser").getProjectBrowser( |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
907 | "sources") |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
908 | if browser.getSelectedItemsCount([ProjectBrowserFileItem]) > 1: |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
909 | fn = [] |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
910 | for itm in browser.getSelectedItems([ProjectBrowserFileItem]): |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
911 | fn.append(itm.fileName()) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
912 | else: |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
913 | itm = browser.model().item(browser.currentIndex()) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
914 | try: |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
915 | fn = itm.fileName() |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
916 | except AttributeError: |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
917 | fn = itm.dirName() |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
918 | |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
919 | if self.__projectBrowserCCDialog is None: |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
920 | from RadonMetrics.CyclomaticComplexityDialog import ( |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
921 | CyclomaticComplexityDialog |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
922 | ) |
55
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
923 | self.__projectBrowserCCDialog = CyclomaticComplexityDialog( |
755bc8e1485a
Upgraded the embedded Radon library to version 2.4.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
924 | self, isSingle=True) |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
925 | self.__projectBrowserCCDialog.show() |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
926 | self.__projectBrowserCCDialog.start(fn) |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
927 | |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
928 | def __editorCyclomaticComplexity(self): |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
929 | """ |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
930 | Private slot to handle the cyclomatic complexity action of the editor |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
931 | show menu. |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
932 | """ |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
933 | editor = e5App().getObject("ViewManager").activeWindow() |
77
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
934 | if ( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
935 | editor is not None and |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
936 | editor.checkDirty() and |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
937 | editor.getFileName() is not None |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
938 | ): |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
939 | if self.__editorCCDialog is None: |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
940 | from RadonMetrics.CyclomaticComplexityDialog import ( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
941 | CyclomaticComplexityDialog |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
942 | ) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
943 | self.__editorCCDialog = CyclomaticComplexityDialog( |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
944 | self, isSingle=True) |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
945 | self.__editorCCDialog.show() |
7e1793d03381
Implemented some code simplifications.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
75
diff
changeset
|
946 | self.__editorCCDialog.start(editor.getFileName()) |
13
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
947 | |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
948 | ################################################################## |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
949 | ## Radon info display |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
950 | ################################################################## |
22bc345844e7
Implemented the cyclomatic complexity stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
12
diff
changeset
|
951 | |
12
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
952 | def __showRadonVersion(self): |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
953 | """ |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
954 | Private slot to show the version number of the used radon library. |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
955 | """ |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
956 | from RadonMetrics.radon import __version__ |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
957 | E5MessageBox.information( |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
958 | None, |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
959 | self.tr("Radon"), |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
960 | self.tr( |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
961 | """<p><b>Radon Version {0}</b></p>""" |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
962 | """<p>Radon is a Python tool that computes various metrics""" |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
963 | """ from the source code. Radon can compute:""" |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
964 | """<ul>""" |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
965 | """<li><b>Raw</b> metrics (these include SLOC, comment""" |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
966 | """ lines, blank lines, multi line strings, ...)</li>""" |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
967 | """<li><b>Maintainability Index</b> (the one used in Visual""" |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
968 | """ Studio)</li>""" |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
969 | """<li><b>McCabe's complexity</b>, i.e. cyclomatic""" |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
970 | """ complexity</li>""" |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
971 | """</ul></p>""" |
32a3c9d62e90
Added a 'Radon' header action showing some info about radon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
11
diff
changeset
|
972 | ).format(__version__)) |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
973 | |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
974 | ################################################################## |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
975 | ## Project handling methods |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
976 | ################################################################## |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
977 | |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
978 | def __projectClosed(self): |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
979 | """ |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
980 | Private slot to handle closing a project. |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
981 | """ |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
982 | self.__projectCCDialog and self.__projectCCDialog.clear() |
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
983 | self.__projectMIDialog and self.__projectMIDialog.clear() |
69
cdf51e6abaee
Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
68
diff
changeset
|
984 | if self.__projectRawMetricsDialog: |
18
58ce8a433422
Fixed a few bugs and added an 'activated' action to the various result lists.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
13
diff
changeset
|
985 | self.__projectRawMetricsDialog.clear() |
43
53dbd4f4d6c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
42
diff
changeset
|
986 | |
80
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
987 | |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
988 | def installDependencies(pipInstall): |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
989 | """ |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
990 | Function to install dependencies of this plug-in. |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
991 | |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
992 | @param pipInstall function to be called with a list of package names. |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
993 | @type function |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
994 | """ |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
995 | try: |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
996 | from radon import __version__ as radon_version |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
997 | import Globals |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
998 | if Globals.versionToTuple(radon_version) < (4, 5, 0): |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
999 | # force an upgrade |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
1000 | pipInstall(["radon>=4.5.0"]) |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
1001 | except ImportError: |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
1002 | pipInstall(["radon>=4.5.0"]) |
a4f2000c6687
Removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
77
diff
changeset
|
1003 | |
43
53dbd4f4d6c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
42
diff
changeset
|
1004 | # |
53dbd4f4d6c2
Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
42
diff
changeset
|
1005 | # eflag: noqa = M801 |