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