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