VultureChecker/VultureCheckerDialog.py

Sat, 23 Dec 2023 15:48:46 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 23 Dec 2023 15:48:46 +0100
branch
eric7
changeset 106
d3ef69537ed1
parent 104
cefe2b00fede
child 108
b6622920a278
permissions
-rw-r--r--

Updated copyright for 2024.

2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
106
d3ef69537ed1 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 104
diff changeset
3 # Copyright (c) 2015 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to show the vulture check results.
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
97
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
10 import contextlib
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import fnmatch
97
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
12 import os
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
97
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
14 from PyQt6.QtCore import Qt, QTimer, pyqtSlot
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
15 from PyQt6.QtWidgets import (
97
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
16 QAbstractButton,
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
17 QApplication,
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
18 QDialog,
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
19 QDialogButtonBox,
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
20 QHeaderView,
97
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
21 QMenu,
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
22 QTreeWidgetItem,
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 )
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
95
1c4dadf3ce89 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 90
diff changeset
25 from eric7 import Preferences, Utilities
97
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
26 from eric7.EricWidgets.EricApplication import ericApp
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
97
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
28 try:
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
29 from eric7.SystemUtilities.FileSystemUtilities import direntries
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
30 except ImportError:
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
31 # imports for eric < 23.1
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
32 from eric7.Utilities import direntries
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33
95
1c4dadf3ce89 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 90
diff changeset
34 from .Ui_VultureCheckerDialog import Ui_VultureCheckerDialog
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
36
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
37 class VultureItem:
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
38 """
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
39 Class to hold the name, type, confidence and location of defined code.
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
40 """
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
41
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
42 def __init__(self, name, typ, filename, firstLineno, lastLineno, confidence):
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
43 """
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
44 Constructor
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
45
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
46 @param name item name
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
47 @type str
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
48 @param typ item type
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
49 @type str
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
50 @param filename name of the file containing item
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
51 @type str
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
52 @param firstLineno first line number
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
53 @type int
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
54 @param lastLineno last line number
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
55 @type int
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
56 @param confidence confidence level
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
57 @type int
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
58 """
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
59 self.name = name
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
60 self.typ = typ
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
61 self.filename = filename
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
62 self.first_lineno = firstLineno
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
63 self.last_lineno = lastLineno
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
64 self.confidence = confidence
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 class VultureCheckerDialog(QDialog, Ui_VultureCheckerDialog):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 Class implementing a dialog to show the vulture check results.
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 """
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
71
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
72 FilePathRole = Qt.ItemDataRole.UserRole + 1
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
73 TypeRole = Qt.ItemDataRole.UserRole + 2
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
74
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 def __init__(self, vultureService, parent=None):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 Constructor
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
78
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 @param vultureService reference to the service
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 @type VulturePlugin
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 @param parent reference to the parent widget
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 @type QWidget
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 """
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
84 super().__init__(parent)
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.setupUi(self)
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
86 self.setWindowFlags(Qt.WindowType.Window)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
87
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
88 self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setEnabled(False)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
89 self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel).setDefault(True)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
90
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 self.resultList.headerItem().setText(self.resultList.columnCount(), "")
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
92
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
93 self.__menu = QMenu(self)
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
94 self.__whiteListAct = self.__menu.addAction(
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
95 self.tr("Add to Whitelist"), self.__whiteList
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
96 )
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
97 self.__menu.addSeparator()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
98 self.__menu.addAction(self.tr("Edit Whitelist"), self.__editWhiteList)
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
99 self.__menu.addSeparator()
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
100 self.__collapseAct = self.__menu.addAction(
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
101 self.tr("Collapse all"), self.__resultCollapse
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
102 )
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
103 self.__expandAct = self.__menu.addAction(
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
104 self.tr("Expand all"), self.__resultExpand
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
105 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
106 self.resultList.customContextMenuRequested.connect(self.__showContextMenu)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
107
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 self.vultureService = vultureService
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 self.vultureService.analysisDone.connect(self.__processResult)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 self.vultureService.error.connect(self.__processError)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 self.vultureService.batchFinished.connect(self.__batchFinished)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
112
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 self.cancelled = False
102
cbe93b6b9e58 Fixed a forgotten attribute definition causing an exception, when the dialog was closed before a run had been performed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 100
diff changeset
114 self.__batch = False
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
115
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
116 self.__project = ericApp().getObject("Project")
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 self.__finished = True
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 self.__errorItem = None
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
119 self.__data = None
8
46783c4f7187 Added PyQt slot support to the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
120 self.__slotsAreUsed = True
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
121
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 self.__fileList = []
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 self.filterFrame.setVisible(False)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
124
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
125 self.__translatedTypes = {
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
126 "property": self.tr("Property"),
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
127 "function": self.tr("Function"),
82
15dfed853c42 Fixed a typo and corrected all translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 80
diff changeset
128 "method": self.tr("Method"),
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
129 "attribute": self.tr("Attribute"),
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
130 "variable": self.tr("Variable"),
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
131 "class": self.tr("Class"),
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
132 "import": self.tr("Import"),
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
133 }
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
134
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 def __createErrorItem(self, filename, message):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 Private slot to create a new error item in the result list.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
138
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 @param filename name of the file
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 @type str
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 @param message error message
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 @type str
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 if self.__errorItem is None:
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
145 self.__errorItem = QTreeWidgetItem(self.resultList, [self.tr("Errors")])
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 self.__errorItem.setExpanded(True)
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
147 self.__errorItem.setForeground(0, Qt.GlobalColor.red)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
148
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
149 msg = "{0} ({1})".format(self.__project.getRelativePath(filename), message)
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
150 if not self.resultList.findItems(msg, Qt.MatchFlag.MatchExactly):
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 itm = QTreeWidgetItem(self.__errorItem, [msg])
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
152 itm.setForeground(0, Qt.GlobalColor.red)
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 itm.setFirstColumnSpanned(True)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
154
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 def prepare(self, fileList, project):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 Public method to prepare the dialog with a list of filenames.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
158
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 @param fileList list of filenames
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 @type list of str
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 @param project reference to the project object
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 @type Project
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 self.__fileList = fileList[:]
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 self.__project = project
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
166
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
167 self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setEnabled(True)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
168 self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel).setEnabled(False)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
169 self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setDefault(True)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
170
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 self.filterFrame.setVisible(True)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
172
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
173 self.__data = self.__project.getData("CHECKERSPARMS", "Vulture")
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
174 if self.__data is None:
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
175 self.__data = {}
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
176 if "ExcludeFiles" not in self.__data:
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
177 self.__data["ExcludeFiles"] = ""
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
178 if "WhiteLists" not in self.__data:
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
179 self.__data["WhiteLists"] = {
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
180 "property": [],
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
181 "function": [],
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
182 "attribute": [],
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
183 "variable": [],
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
184 "class": [],
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
185 "import": [],
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
186 "__patterns__": [
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
187 "on_*",
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
188 "visit_*",
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
189 ],
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
190 }
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
191 if "method" not in self.__data["WhiteLists"]:
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
192 self.__data["WhiteLists"]["method"] = []
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
193 if "import" not in self.__data["WhiteLists"]:
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
194 self.__data["WhiteLists"]["import"] = []
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
195
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 self.excludeFilesEdit.setText(self.__data["ExcludeFiles"])
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
197
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 def start(self, fn):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 Public slot to start the code metrics determination.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
201
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 @param fn file or list of files or directory to show
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 the code metrics for
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 @type str or list of str
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 """
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
206 self.cancelled = False
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 self.__errorItem = None
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 self.resultList.clear()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
209
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
210 self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setEnabled(False)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
211 self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel).setEnabled(True)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
212 self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel).setDefault(True)
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 QApplication.processEvents()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
214
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 self.__prepareResultLists()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
216
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
217 if isinstance(fn, list):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
218 self.files = fn
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
219 elif os.path.isdir(fn):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 self.files = []
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
221 extensions = set(Preferences.getPython("Python3Extensions"))
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 for ext in extensions:
97
6ec0844dafe7 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
223 self.files.extend(direntries(fn, True, "*{0}".format(ext), 0))
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 else:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 self.files = [fn]
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 self.files.sort()
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 # check for missing files
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
228 for f in self.files[:]:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229 if not os.path.exists(f):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230 self.files.remove(f)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
231
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 if len(self.files) > 0:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 # disable updates of the list for speed
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 self.resultList.setUpdatesEnabled(False)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 self.resultList.setSortingEnabled(False)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
236
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 self.checkProgress.setMaximum(len(self.files))
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 self.checkProgress.setVisible(len(self.files) > 1)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 QApplication.processEvents()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
240
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 # now go through all the files
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 self.progress = 0
62
4a69da851bd2 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
243 if len(self.files) == 1:
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 self.__batch = False
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 self.vultureCheck()
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 else:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 self.__batch = True
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 self.vultureCheckBatch()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
249
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
250 def vultureCheck(self):
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 Public method to start a vulture check for one Python file.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
253
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 The results are reported to the __processResult slot.
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 if not self.files:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 self.checkProgress.setMaximum(1)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 self.checkProgress.setValue(1)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 self.__finish()
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 return
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
261
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 self.filename = self.files.pop(0)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 self.checkProgress.setValue(self.progress)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 QApplication.processEvents()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
265
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 if self.cancelled:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 return
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
268
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 try:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 self.source = Utilities.readEncodedFile(self.filename)[0]
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 self.source = Utilities.normalizeCode(self.source)
104
cefe2b00fede Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
272 except (OSError, UnicodeError) as msg:
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 self.__createErrorItem(self.filename, str(msg).rstrip())
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 self.progress += 1
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 # Continue with next file
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 self.vultureCheck()
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 return
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 self.__finished = False
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
280 self.vultureService.vultureCheck(None, self.filename, self.source)
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 def vultureCheckBatch(self):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 Public method to start a vulture check batch job.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
285
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 The results are reported to the __processResult slot.
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 argumentsList = []
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
289 for progress, filename in enumerate(self.files, start=1):
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 self.checkProgress.setValue(progress)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
291 QApplication.processEvents()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
292
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 try:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 source = Utilities.readEncodedFile(filename)[0]
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
295 source = Utilities.normalizeCode(source)
104
cefe2b00fede Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
296 except (OSError, UnicodeError) as msg:
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 self.__createErrorItem(filename, str(msg).rstrip())
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 continue
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
299
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 argumentsList.append((filename, source))
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
301
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 # reset the progress bar to the checked files
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 self.checkProgress.setValue(self.progress)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 QApplication.processEvents()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
305
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 self.__finished = False
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307 self.vultureService.vultureCheckBatch(argumentsList)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
308
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 def __batchFinished(self):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 Private slot handling the completion of a batch job.
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 self.checkProgress.setMaximum(1)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314 self.checkProgress.setValue(1)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315 self.__finish()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
316
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 def __processError(self, fn, msg):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319 Private slot to process an error indication from the service.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
320
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 @param fn filename of the file
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 @type str
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 @param msg error message
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 @type str
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
325 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 self.__createErrorItem(fn, msg)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
327
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 def __processResult(self, fn, result):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
329 """
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
330 Private slot called after performing a vulture analysis on one file.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
331
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 @param fn filename of the file
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 @type str
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 @param result result dict
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 @type dict
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 if self.__finished:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 return
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
339
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 # Check if it's the requested file, otherwise ignore signal if not
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
341 # in batch mode
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
342 if not self.__batch and fn != self.filename:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 return
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
344
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 if "error" in result:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 self.__createErrorItem(fn, result["error"])
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 else:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 self.__storeResult(result)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
349
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 self.progress += 1
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
351
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352 self.checkProgress.setValue(self.progress)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 QApplication.processEvents()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
354
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355 if not self.__batch:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 self.vultureCheck()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
357
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 def __finish(self):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 """
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
360 Private slot called when the action finished or the user pressed the
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
361 cancel button.
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 if not self.__finished:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 self.__finished = True
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
365
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 if not self.cancelled:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 self.__createResultItems()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
368
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 # reenable updates of the list
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 self.resultList.setSortingEnabled(True)
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
371 self.resultList.sortItems(0, Qt.SortOrder.AscendingOrder)
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 self.resultList.setUpdatesEnabled(True)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
373
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 self.cancelled = True
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
375 self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setEnabled(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
376 True
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
377 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
378 self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel).setEnabled(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
379 False
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
380 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
381 self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setDefault(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
382 True
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
383 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
384
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385 self.resultList.header().resizeSections(
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
386 QHeaderView.ResizeMode.ResizeToContents
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
387 )
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
388 self.resultList.header().setStretchLastSection(True)
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
389 self.resultList.header().setSectionResizeMode(
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
390 QHeaderView.ResizeMode.Interactive
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
391 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
392
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 self.checkProgress.setVisible(False)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
394
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
395 if self.resultList.topLevelItemCount() == 0:
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
396 itm = QTreeWidgetItem(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
397 self.resultList, [self.tr("No unused code found.")]
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
398 )
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
399 itm.setFirstColumnSpanned(True)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
400
100
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
401 def __cancel(self):
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
402 """
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
403 Private method to cancel the current check run.
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
404 """
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
405 self.cancelled = True
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
406 if self.__batch:
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
407 self.vultureService.cancelVultureCheckBatch()
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
408 QTimer.singleShot(1000, self.__finish)
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
409 else:
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
410 self.__finish()
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
411
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
412 def closeEvent(self, evt):
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
413 """
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
414 Protected method to handle a close event.
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
415
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
416 @param evt reference to the close event
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
417 @type QCloseEvent
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
418 """
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
419 self.__cancel()
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
420
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421 @pyqtSlot(QAbstractButton)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422 def on_buttonBox_clicked(self, button):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
423 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
424 Private slot called by a button of the button box clicked.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
425
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
426 @param button button that was clicked
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
427 @type QAbstractButton
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428 """
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
429 if button == self.buttonBox.button(QDialogButtonBox.StandardButton.Close):
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
430 self.close()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
431 elif button == self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel):
100
882358a3f96e Added missing close event handler.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 99
diff changeset
432 self.__cancel()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
433
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 @pyqtSlot()
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435 def on_startButton_clicked(self):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
436 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
437 Private slot to start a code metrics run.
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
438 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
439 fileList = self.__fileList[:]
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
440
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
441 filterString = self.excludeFilesEdit.text()
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
442 if filterString != self.__data["ExcludeFiles"]:
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
443 self.__data["ExcludeFiles"] = filterString
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
444 self.__project.setData("CHECKERSPARMS", "Vulture", self.__data)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
445 filterList = [f.strip() for f in filterString.split(",") if f.strip()]
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 if filterList:
45
232ed15782bb Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 44
diff changeset
447 for fileFilter in filterList:
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
448 fileList = [f for f in fileList if not fnmatch.fnmatch(f, fileFilter)]
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
449
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
450 self.start(fileList)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
451
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
452 def clear(self):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454 Public method to clear all results.
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
455 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
456 self.resultList.clear()
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
457
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
458 @pyqtSlot(QTreeWidgetItem, int)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
459 def on_resultList_itemActivated(self, item, column):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
460 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
461 Private slot to handle the activation of a result item.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
462
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463 @param item reference to the activated item
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
464 @type QTreeWidgetItem
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
465 @param column column the item was activated in
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
466 @type int
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
467 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468 if item.parent() is not None:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 filename = item.data(0, self.FilePathRole)
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470 try:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
471 lineno = int(item.text(0))
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
472 except ValueError:
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
473 lineno = 1
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
474 if filename:
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
475 vm = ericApp().getObject("ViewManager")
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
476 vm.openSourceFile(filename, lineno)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
477
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
478 def __prepareResultLists(self):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
480 Private method to prepare the result lists.
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481 """
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
482 self.__unusedAttrs = []
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
483 self.__unusedClasses = []
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
484 self.__unusedFuncs = []
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
485 self.__unusedMethods = []
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
486 self.__unusedImports = []
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
487 self.__unusedProps = []
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
488 self.__unusedVars = []
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
489
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
490 def __storeResult(self, result):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
491 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
492 Private method to store the result of an analysis.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
493
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
494 @param result result dictionary
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
495 @type dict
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
496 """
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
497 self.__unusedAttrs.extend(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
498 self.__filteredList(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
499 [self.__dict2Item(d) for d in result["UnusedAttributes"]]
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
500 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
501 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
502 self.__unusedClasses.extend(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
503 self.__filteredList([self.__dict2Item(d) for d in result["UnusedClasses"]])
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
504 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
505 self.__unusedFuncs.extend(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
506 self.__filteredList(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
507 [self.__dict2Item(d) for d in result["UnusedFunctions"]]
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
508 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
509 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
510 self.__unusedMethods.extend(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
511 self.__filteredList([self.__dict2Item(d) for d in result["UnusedMethods"]])
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
512 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
513 self.__unusedImports.extend(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
514 self.__filteredList([self.__dict2Item(d) for d in result["UnusedImports"]])
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
515 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
516 self.__unusedProps.extend(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
517 self.__filteredList(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
518 [self.__dict2Item(d) for d in result["UnusedProperties"]]
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
519 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
520 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
521 self.__unusedVars.extend(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
522 self.__filteredList(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
523 [self.__dict2Item(d) for d in result["UnusedVariables"]]
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
524 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
525 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
526
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
527 def __dict2Item(self, d):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
528 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
529 Private method to convert an item dictionary to a vulture item.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
530
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
531 @param d item dictionary
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
532 @type dict
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
533 @return vulture item
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
534 @rtype VultureItem
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
535 """
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
536 return VultureItem(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
537 d["name"],
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
538 d["type"],
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
539 d["file"],
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
540 d["first_line"],
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
541 d["last_line"],
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
542 confidence=d["confidence"],
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
543 )
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
544
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
545 def __filteredList(self, itemList):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
546 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
547 Private method to filter a list against the whitelist patterns
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
548 returning items not matching the whitelist.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
549
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
550 @param itemList list of items to be filtered
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
551 @type list of VultureItem
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
552 @return list of filtered items
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
553 @rtype list of VultureItem
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
554 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
555 filteredList = itemList
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
556 for pattern in self.__data["WhiteLists"]["__patterns__"]:
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
557 filteredList = [
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
558 item
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
559 for item in filteredList
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
560 if not fnmatch.fnmatchcase(item.name, pattern)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
561 ]
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
562 return filteredList # __IGNORE_WARNING_M834__
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
563
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
564 def __filterUnusedItems(self, unused, whitelistName):
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566 Private method to get a list of unused items.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
567
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
568 @param unused list of unused items
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
569 @type list of VultureItem
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
570 @param whitelistName name of the whitelist to use as a filter
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
571 @type str
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
572 @return list of unused items
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
573 @rtype list of VultureItem
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
574 """
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
575 return [
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
576 item
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
577 for item in set(unused)
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
578 if item.name not in self.__data["WhiteLists"][whitelistName]
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
579 ]
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
580
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
581 def __filterUnusedFunctions(self):
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
582 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
583 Private method to get the list of unused functions.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
584
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585 @return list of unused functions
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
586 @rtype list of VultureItem
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 """
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
588 return self.__filterUnusedItems(self.__unusedFuncs, "function")
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
589
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
590 def __filterUnusedMethods(self):
8
46783c4f7187 Added PyQt slot support to the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
591 """
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
592 Private method to get the list of unused methods.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
593
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
594 @return list of unused methods
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
595 @rtype list of VultureItem
8
46783c4f7187 Added PyQt slot support to the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
596 """
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
597 return self.__filterUnusedItems(self.__unusedMethods, "method")
8
46783c4f7187 Added PyQt slot support to the dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
598
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
599 def __filterUnusedClasses(self):
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
600 """
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
601 Private method to get the list of unused classes.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
602
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
603 @return list of unused classes
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
604 @rtype list of VultureItem
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
605 """
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
606 return self.__filterUnusedItems(self.__unusedClasses, "class")
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
607
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
608 def __filterUnusedImports(self):
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
609 """
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
610 Private method to get a list of unused imports.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
611
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
612 @return list of unused imports
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
613 @rtype list of VultureItem
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
614 """
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
615 return self.__filterUnusedItems(self.__unusedImports, "import")
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
616
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
617 def __filterUnusedProperties(self):
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
618 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
619 Private method to get the list of unused properties.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
620
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
621 @return list of unused properties
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
622 @rtype list of VultureItem
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
623 """
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
624 return self.__filterUnusedItems(self.__unusedProps, "property")
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
625
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
626 def __filterUnusedVariables(self):
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
627 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
628 Private method to get the list of unused variables.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
629
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
630 @return list of unused variables
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
631 @rtype list of VultureItem
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
632 """
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
633 return self.__filterUnusedItems(self.__unusedVars, "variable")
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
634
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
635 def __filterUnusedAttributes(self):
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
636 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
637 Private method to get the list of unused attributes.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
638
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
639 @return list of unused attributes
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
640 @rtype list of VultureItem
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
641 """
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
642 return self.__filterUnusedItems(self.__unusedAttrs, "attribute")
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
643
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
644 def __createResultItems(self):
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
645 """
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
646 Private method to populate the list with the analysis result.
62
4a69da851bd2 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
647 """
2
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
648 lastFileItem = None
b517a1c5d5de Continued implementing the vulture checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
649 lastFileName = ""
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
650 items = (
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
651 self.__filterUnusedFunctions()
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
652 + self.__filterUnusedMethods()
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
653 + self.__filterUnusedClasses()
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
654 + self.__filterUnusedImports()
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
655 + self.__filterUnusedProperties()
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
656 + self.__filterUnusedVariables()
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
657 + self.__filterUnusedAttributes()
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
658 )
62
4a69da851bd2 Removed support for Python2.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
659 for item in sorted(items, key=lambda item: item.filename):
18
e19e7622a428 Added some vulture improvements from vulture repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
660 if lastFileItem is None or lastFileName != item.filename:
e19e7622a428 Added some vulture improvements from vulture repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
661 lastFileItem = self.__createFileItem(item.filename)
e19e7622a428 Added some vulture improvements from vulture repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
662 lastFileName = item.filename
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
663
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
664 self.__createResultItem(lastFileItem, item)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
665
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
666 def __createResultItem(self, parent, item):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
667 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
668 Private method to create a result item.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
669
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
670 @param parent reference to the parent item
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
671 @type QTreeWidgetItem
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
672 @param item reference to the item
55
7925ae5c9f17 Upgraded the embedded vulture library to version 1.0.0 (with eric patches to support PyQt/PySide slots).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
673 @type VultureItem
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
674 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
675 try:
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
676 translatedType = self.__translatedTypes[item.typ]
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
677 except KeyError:
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
678 translatedType = item.typ
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
679 itm = QTreeWidgetItem(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
680 parent,
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
681 [
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
682 "{0:6d}".format(item.first_lineno),
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
683 item.name,
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
684 "{0:3d}%".format(item.confidence),
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
685 translatedType,
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
686 ],
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
687 )
18
e19e7622a428 Added some vulture improvements from vulture repository.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9
diff changeset
688 itm.setData(0, self.FilePathRole, item.filename)
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
689 itm.setData(0, self.TypeRole, item.typ)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
690 itm.setTextAlignment(0, Qt.AlignmentFlag.AlignRight) # line no
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
691 itm.setTextAlignment(2, Qt.AlignmentFlag.AlignRight) # confidence
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
692
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
693 def __createFileItem(self, filename):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
694 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
695 Private method to create a file item.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
696
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
697 @param filename file name for the item
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
698 @type str
9
1ce891a2b3ae Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
699 @return reference to the created item
1ce891a2b3ae Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
700 @rtype QTreeWidgetItem
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
701 """
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
702 itm = QTreeWidgetItem(
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
703 self.resultList, [self.__project.getRelativePath(filename)]
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
704 )
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
705 itm.setData(0, self.FilePathRole, filename)
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
706 itm.setExpanded(True)
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
707 itm.setFirstColumnSpanned(True)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
708
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
709 return itm
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
710
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
711 def __showContextMenu(self, coord):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
712 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
713 Private slot to show the context menu of the listview.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
714
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
715 @param coord the position of the mouse pointer
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
716 @type QPoint
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
717 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
718 topLevelPresent = self.resultList.topLevelItemCount() > 0
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
719 self.__collapseAct.setEnabled(topLevelPresent)
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
720 self.__expandAct.setEnabled(topLevelPresent)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
721
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
722 self.__whiteListAct.setEnabled(len(self.__getSelectedNonFileItems()) != 0)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
723
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
724 self.__menu.popup(self.resultList.mapToGlobal(coord))
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
725
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
726 def __resultCollapse(self):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
727 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
728 Private slot to collapse all entries of the resultlist.
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
729 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
730 for index in range(self.resultList.topLevelItemCount()):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
731 self.resultList.topLevelItem(index).setExpanded(False)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
732
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
733 def __resultExpand(self):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
734 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
735 Private slot to expand all entries of the resultlist.
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
736 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
737 for index in range(self.resultList.topLevelItemCount()):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
738 self.resultList.topLevelItem(index).setExpanded(True)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
739
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
740 def __getSelectedNonFileItems(self):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
741 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
742 Private method to get a list of selected non file items.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
743
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
744 @return list of selected non file items
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
745 @rtype list of QTreeWidgetItem
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
746 """
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
747 return [i for i in self.resultList.selectedItems() if i.parent() is not None]
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
748
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
749 def __editWhiteList(self):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
750 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
751 Private slot to edit the whitelist.
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
752 """
6
76c0f3ed7ac5 Finished implementing the whitelist edit dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
753 from .EditWhiteListDialog import EditWhiteListDialog
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
754
6
76c0f3ed7ac5 Finished implementing the whitelist edit dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
755 dlg = EditWhiteListDialog(self.__data["WhiteLists"])
79
47e46cd3bb23 Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
756 if dlg.exec() == QDialog.DialogCode.Accepted:
6
76c0f3ed7ac5 Finished implementing the whitelist edit dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
757 whitelists = dlg.getWhiteLists()
76c0f3ed7ac5 Finished implementing the whitelist edit dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
758 self.__storeWhiteLists(whitelists)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
759
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
760 def __whiteList(self):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
761 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
762 Private slot to add entries to the whitelist.
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
763 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
764 whitelists = {}
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
765 for key in self.__data["WhiteLists"]:
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
766 whitelists[key] = self.__data["WhiteLists"][key][:]
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
767 for itm in self.__getSelectedNonFileItems():
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
768 with contextlib.suppress(KeyError):
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
769 whitelists[itm.data(0, self.TypeRole)].append(itm.text(1))
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
770 # remove the item from the result list
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
771 pitm = itm.parent()
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
772 pitm.removeChild(itm)
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
773 del itm
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
774 if pitm.childCount() == 0:
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
775 self.resultList.takeTopLevelItem(
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
776 self.resultList.indexOfTopLevelItem(pitm)
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
777 )
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
778 del pitm
6
76c0f3ed7ac5 Finished implementing the whitelist edit dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
779 self.__storeWhiteLists(whitelists)
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
780
6
76c0f3ed7ac5 Finished implementing the whitelist edit dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
781 def __storeWhiteLists(self, whitelists):
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
782 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
783 Private method to store the new whitelists, if they have changed.
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
784
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
785 @param whitelists dictionary of lists of whitelisted names
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
786 @type dict of list of str
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
787 """
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
788 changed = False
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
789 for key in whitelists:
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
790 whitelist = list(set(whitelists[key]))
69
3c2922b45a9f Upgraded embedded vulture library to version 2.3.0 (no eric patches for slot support needed anymore).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
791 with contextlib.suppress(KeyError):
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
792 if sorted(whitelist) != sorted(self.__data["WhiteLists"][key]):
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
793 self.__data["WhiteLists"][key] = whitelist[:]
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
794 changed = True
90
6393ee6e7993 Reformatted the sources with the Black tool.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 89
diff changeset
795
4
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
796 if changed:
2a12ec365dd1 Started implementing the whitelist functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
797 self.__project.setData("CHECKERSPARMS", "Vulture", self.__data)

eric ide

mercurial