6 """ |
6 """ |
7 Module implementing a dialog to show the cyclomatic complexity (McCabe |
7 Module implementing a dialog to show the cyclomatic complexity (McCabe |
8 complexity). |
8 complexity). |
9 """ |
9 """ |
10 |
10 |
|
11 import fnmatch |
11 import os |
12 import os |
12 import fnmatch |
13 |
13 |
14 from PyQt6.QtCore import QLocale, Qt, QTimer, pyqtSlot |
14 from PyQt6.QtCore import pyqtSlot, Qt, QTimer, QLocale |
|
15 from PyQt6.QtGui import QColor |
15 from PyQt6.QtGui import QColor |
16 from PyQt6.QtWidgets import ( |
16 from PyQt6.QtWidgets import ( |
|
17 QAbstractButton, |
|
18 QApplication, |
17 QDialog, |
19 QDialog, |
18 QDialogButtonBox, |
20 QDialogButtonBox, |
19 QAbstractButton, |
|
20 QHeaderView, |
21 QHeaderView, |
|
22 QMenu, |
21 QTreeWidgetItem, |
23 QTreeWidgetItem, |
22 QApplication, |
|
23 QMenu, |
|
24 ) |
24 ) |
25 |
25 |
26 from eric7 import Preferences, Utilities |
26 from eric7 import Preferences, Utilities |
27 from eric7.EricWidgets.EricApplication import ericApp |
27 from eric7.EricWidgets.EricApplication import ericApp |
|
28 |
|
29 try: |
|
30 from eric7.SystemUtilities.FileSystemUtilities import direntries |
|
31 except ImportError: |
|
32 # imports for eric < 23.1 |
|
33 from eric7.Utilities import direntries |
28 |
34 |
29 from .Ui_CyclomaticComplexityDialog import Ui_CyclomaticComplexityDialog |
35 from .Ui_CyclomaticComplexityDialog import Ui_CyclomaticComplexityDialog |
30 |
36 |
31 |
37 |
32 class CyclomaticComplexityDialog(QDialog, Ui_CyclomaticComplexityDialog): |
38 class CyclomaticComplexityDialog(QDialog, Ui_CyclomaticComplexityDialog): |
291 self.files = fn |
297 self.files = fn |
292 elif os.path.isdir(fn): |
298 elif os.path.isdir(fn): |
293 self.files = [] |
299 self.files = [] |
294 extensions = set(Preferences.getPython("Python3Extensions")) |
300 extensions = set(Preferences.getPython("Python3Extensions")) |
295 for ext in extensions: |
301 for ext in extensions: |
296 self.files.extend(Utilities.direntries(fn, True, "*{0}".format(ext), 0)) |
302 self.files.extend(direntries(fn, True, "*{0}".format(ext), 0)) |
297 else: |
303 else: |
298 self.files = [fn] |
304 self.files = [fn] |
299 self.files.sort() |
305 self.files.sort() |
300 # check for missing files |
306 # check for missing files |
301 for f in self.files[:]: |
307 for f in self.files[:]: |