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