Wed, 16 Sep 2015 20:07:48 +0200
Continued implementing the maintainability index stuff.
8
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2015 Detlev Offenbach <detlev@die-offenbachs.de> |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a dialog to show maintainability indexes. |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from __future__ import unicode_literals |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | try: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | str = unicode # __IGNORE_EXCEPTION __IGNORE_WARNING__ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | except NameError: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | pass |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | import os |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | import fnmatch |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | from PyQt5.QtCore import pyqtSlot, qVersion, Qt, QTimer, QLocale |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | from PyQt5.QtWidgets import ( |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | QDialog, QDialogButtonBox, QAbstractButton, QHeaderView, QTreeWidgetItem, |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | QApplication |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | ) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | from .Ui_MaintainabilityIndexDialog import Ui_MaintainabilityIndexDialog |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | from E5Gui.E5Application import e5App |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | import Preferences |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | import Utilities |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | class MaintainabilityIndexDialog(QDialog, Ui_MaintainabilityIndexDialog): |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | Class implementing a dialog to show maintainability indexes. |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | def __init__(self, radonService, parent=None): |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | Constructor |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | @param radonService reference to the service |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | @type RadonMetricsPlugin |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | @param parent reference to the parent widget |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | @type QWidget |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | super(MaintainabilityIndexDialog, self).__init__(parent) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | self.setupUi(self) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | self.setWindowFlags(Qt.Window) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.resultList.headerItem().setText(self.resultList.columnCount(), "") |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | self.radonService = radonService |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.radonService.metricsDone.connect(self.__processResult) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | self.radonService.metricsError.connect(self.__processError) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | self.radonService.batchFinished.connect(self.__batchFinished) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | self.cancelled = False |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | self.__project = e5App().getObject("Project") |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | self.__locale = QLocale() |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | self.__fileList = [] |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | self.filterFrame.setVisible(False) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | self.explanationLabel.setText(self.tr( |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | "<table>" |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | "<tr><td colspan=2><b>Ranking:</b></td></tr>" |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | "<tr><td><b>A</b></td><td>score > 19</td></tr>" |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | "<tr><td><b>B</b></td><td>9 < score ≤ 19</td></tr>" |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | "<tr><td><b>C</b></td><td>score ≤ 9</td></tr>" |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | "</table>" |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | )) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | def __resizeResultColumns(self): |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | Private method to resize the list columns. |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | self.resultList.header().resizeSections(QHeaderView.ResizeToContents) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | self.resultList.header().setStretchLastSection(True) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | def __createResultItem(self, filename, values): |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | Private slot to create a new item in the result list. |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | @param filename name of the file |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | @type str |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | @param values values to be displayed |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | @type dict |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | data = [self.__project.getRelativePath(filename)] |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | try: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | data.append(self.__locale.toString(float(values["mi"]), "f", 2)) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | except ValueError: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | data.append(values["mi"]) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | data.append(values["rank"]) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | itm = QTreeWidgetItem(self.resultList, data) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | itm.setTextAlignment(1, Qt.Alignment(Qt.AlignRight)) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | itm.setTextAlignment(2, Qt.Alignment(Qt.AlignHCenter)) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | def __createErrorItem(self, filename, message): |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | Private slot to create a new error item in the result list. |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | @param filename name of the file |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | @type str |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | @param message error message |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | @type str |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | itm = QTreeWidgetItem(self.resultList, [ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | "{0} ({1})".format(self.__project.getRelativePath(filename), |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | message)]) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | itm.setFirstColumnSpanned(True) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | font = itm.font(0) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | font.setItalic(True) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | itm.setFont(0, font) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | def prepare(self, fileList, project): |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | Public method to prepare the dialog with a list of filenames. |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | @param fileList list of filenames |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | @type list of str |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | @param project reference to the project object |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | @type Project |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | self.__fileList = fileList[:] |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | self.__project = project |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | self.filterFrame.setVisible(True) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | self.__data = self.__project.getData( |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | "OTHERTOOLSPARMS", "RadonCodeMetrics") |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | if self.__data is None or "ExcludeFiles" not in self.__data: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | self.__data = {"ExcludeFiles": ""} |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | self.excludeFilesEdit.setText(self.__data["ExcludeFiles"]) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | def start(self, fn): |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | Public slot to start the maintainability index determination. |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | @param fn file or list of files or directory to show |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | the maintainability index for |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | @type str or list of str |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | """ |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | self.cancelled = False |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | QApplication.processEvents() |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | if isinstance(fn, list): |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | self.files = fn |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | elif os.path.isdir(fn): |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | self.files = [] |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | extensions = set(Preferences.getPython("PythonExtensions") + |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | Preferences.getPython("Python3Extensions")) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | for ext in extensions: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | self.files.extend( |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | Utilities.direntries(fn, True, '*{0}'.format(ext), 0)) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | else: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | self.files = [fn] |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | self.files.sort() |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | # check for missing files |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | for f in self.files[:]: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | if not os.path.exists(f): |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | self.files.remove(f) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | self.__summary = {"files": 0} |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | for key in ['loc', 'sloc', 'lloc', 'comments', 'multi', 'blank']: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | self.__summary[key] = 0 |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | if len(self.files) > 0: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | # disable updates of the list for speed |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | self.resultList.setUpdatesEnabled(False) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | self.resultList.setSortingEnabled(False) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | self.checkProgress.setMaximum(len(self.files)) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | self.checkProgress.setVisible(len(self.files) > 1) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | self.checkProgressLabel.setVisible(len(self.files) > 1) |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | QApplication.processEvents() |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | # now go through all the files |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | self.progress = 0 |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | if len(self.files) == 1 or not self.radonService.hasBatch: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | self.__batch = False |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | self.maintainabilityIndex() |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | else: |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | self.__batch = True |
d02708288a22
Continued implementing the maintainability index stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | self.maintainabilityIndexBatch() |