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