Thu, 22 Oct 2015 19:48:40 +0200
Improved the syntax checker, code style checker and indentation checker interfaces.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
4021
195a471c327b
Updated copyright for 2015.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
3 | # Copyright (c) 2003 - 2015 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
3004
c4bf32c791d0
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2404
diff
changeset
|
7 | Module implementing a dialog to show the output of the tabnanny command |
c4bf32c791d0
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2404
diff
changeset
|
8 | process. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3143
diff
changeset
|
11 | from __future__ import unicode_literals |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2404
diff
changeset
|
12 | try: |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
13 | str = unicode |
3484 | 14 | except NameError: |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2404
diff
changeset
|
15 | pass |
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2404
diff
changeset
|
16 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | import os |
571
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
18 | import fnmatch |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
20 | from PyQt5.QtCore import pyqtSlot, Qt, QTimer |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
21 | from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QTreeWidgetItem, \ |
3004
c4bf32c791d0
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2404
diff
changeset
|
22 | QApplication, QHeaderView |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
24 | from E5Gui.E5Application import e5App |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
26 | from .Ui_TabnannyDialog import Ui_TabnannyDialog |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | import Utilities |
40
c2e5472b112c
Changed some code to adjust eric5 to Python3.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
28
diff
changeset
|
29 | import Preferences |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
831
diff
changeset
|
31 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | class TabnannyDialog(QDialog, Ui_TabnannyDialog): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | Class implementing a dialog to show the results of the tabnanny check run. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | """ |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
36 | filenameRole = Qt.UserRole + 1 |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
37 | |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
38 | def __init__(self, indentCheckService, parent=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
42 | @param indentCheckService reference to the service (IndentCheckService) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | @param parent The parent widget (QWidget). |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2404
diff
changeset
|
45 | super(TabnannyDialog, self).__init__(parent) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | self.setupUi(self) |
4278
ccd1e13cb9bd
Fixed issues where dialogs could not be minimized on some desktop environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4237
diff
changeset
|
47 | self.setWindowFlags(Qt.Window) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | self.resultList.headerItem().setText(self.resultList.columnCount(), "") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | self.resultList.header().setSortIndicator(0, Qt.AscendingOrder) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
55 | self.indentCheckService = indentCheckService |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
56 | self.indentCheckService.indentChecked.connect(self.__processResult) |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
57 | self.indentCheckService.batchFinished.connect(self.__batchFinished) |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
58 | self.indentCheckService.error.connect(self.__processError) |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
59 | self.filename = None |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
60 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | self.noResults = True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | self.cancelled = False |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
63 | self.__finished = True |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
64 | self.__errorItem = None |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | |
571
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
66 | self.__fileList = [] |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
67 | self.__project = None |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
68 | self.filterFrame.setVisible(False) |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
69 | |
3091
8239cae3f947
Made the progress bar of the syntax and indentation checker dialogs only visible, while it is checking and only if more than 1 file are being checked.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3036
diff
changeset
|
70 | self.checkProgress.setVisible(False) |
3137
59d9f8c238f0
Fixed issues in the syntax checker and indentation checker dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3091
diff
changeset
|
71 | self.checkProgressLabel.setVisible(False) |
59d9f8c238f0
Fixed issues in the syntax checker and indentation checker dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3091
diff
changeset
|
72 | self.checkProgressLabel.setMaximumWidth(600) |
3091
8239cae3f947
Made the progress bar of the syntax and indentation checker dialogs only visible, while it is checking and only if more than 1 file are being checked.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3036
diff
changeset
|
73 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | def __resort(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | Private method to resort the tree. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | """ |
3004
c4bf32c791d0
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2404
diff
changeset
|
78 | self.resultList.sortItems( |
c4bf32c791d0
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2404
diff
changeset
|
79 | self.resultList.sortColumn(), |
c4bf32c791d0
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2404
diff
changeset
|
80 | self.resultList.header().sortIndicatorOrder()) |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
81 | |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
82 | def __createErrorItem(self, filename, message): |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
83 | """ |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
84 | Private slot to create a new error item in the result list. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
86 | @param filename name of the file |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
87 | @type str |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
88 | @param message error message |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
89 | @type str |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
90 | """ |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
91 | if self.__errorItem is None: |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
92 | self.__errorItem = QTreeWidgetItem(self.resultList, [ |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
93 | self.tr("Errors")]) |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
94 | self.__errorItem.setExpanded(True) |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
95 | self.__errorItem.setForeground(0, Qt.red) |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
96 | |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
97 | msg = "{0} ({1})".format(self.__project.getRelativePath(filename), |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
98 | message) |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
99 | if not self.resultList.findItems(msg, Qt.MatchExactly): |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
100 | itm = QTreeWidgetItem(self.__errorItem, [msg]) |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
101 | itm.setForeground(0, Qt.red) |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
102 | itm.setFirstColumnSpanned(True) |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
103 | |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
104 | def __createResultItem(self, filename, line, sourcecode): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | Private method to create an entry in the result list. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
108 | @param filename filename of file (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | @param line linenumber of faulty source (integer or string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | @param sourcecode faulty line of code (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | """ |
1640
1699d46026cd
Fixed a compatibility issue with Qt 4.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
112 | itm = QTreeWidgetItem(self.resultList) |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
113 | itm.setData(0, Qt.DisplayRole, |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
114 | self.__project.getRelativePath(filename)) |
1640
1699d46026cd
Fixed a compatibility issue with Qt 4.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
115 | itm.setData(1, Qt.DisplayRole, line) |
1699d46026cd
Fixed a compatibility issue with Qt 4.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
116 | itm.setData(2, Qt.DisplayRole, sourcecode) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | itm.setTextAlignment(1, Qt.AlignRight) |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
118 | itm.setData(0, self.filenameRole, filename) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | |
571
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
120 | def prepare(self, fileList, project): |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
121 | """ |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
122 | Public method to prepare the dialog with a list of filenames. |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
123 | |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
124 | @param fileList list of filenames (list of strings) |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
125 | @param project reference to the project object (Project) |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
126 | """ |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
127 | self.__fileList = fileList[:] |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
128 | self.__project = project |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
129 | |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
130 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
131 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
132 | self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
133 | |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
134 | self.filterFrame.setVisible(True) |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
135 | |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
136 | self.__data = self.__project.getData("CHECKERSPARMS", "Tabnanny") |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
137 | if self.__data is None or "ExcludeFiles" not in self.__data: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
831
diff
changeset
|
138 | self.__data = {"ExcludeFiles": ""} |
571
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
139 | self.excludeFilesEdit.setText(self.__data["ExcludeFiles"]) |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
140 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | def start(self, fn): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | Public slot to start the tabnanny check. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | @param fn File or list of files or directory to be checked |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | (string or list of strings) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | """ |
805
83ca4d1ff648
Added a tabnanny checker function for Python 2 files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
793
diff
changeset
|
148 | if self.__project is None: |
83ca4d1ff648
Added a tabnanny checker function for Python 2 files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
793
diff
changeset
|
149 | self.__project = e5App().getObject("Project") |
83ca4d1ff648
Added a tabnanny checker function for Python 2 files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
793
diff
changeset
|
150 | |
571
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
151 | self.cancelled = False |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
152 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
153 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
154 | self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) |
3091
8239cae3f947
Made the progress bar of the syntax and indentation checker dialogs only visible, while it is checking and only if more than 1 file are being checked.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3036
diff
changeset
|
155 | self.checkProgress.setVisible(True) |
571
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
156 | QApplication.processEvents() |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
157 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
158 | if isinstance(fn, list): |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
159 | self.files = fn |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | elif os.path.isdir(fn): |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
161 | self.files = [] |
2680
110ac646a3a0
Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
162 | extensions = set(Preferences.getPython("PythonExtensions") + |
3065
070b35dde35e
Fixed a bunch of indentation issues.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
163 | Preferences.getPython("Python3Extensions")) |
2680
110ac646a3a0
Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
164 | for ext in extensions: |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
165 | self.files.extend( |
3057
10516539f238
Merge with default branch after shorten the code lines to max. 79 characters.
T.Rzepka <Tobias.Rzepka@gmail.com>
diff
changeset
|
166 | Utilities.direntries(fn, True, '*{0}'.format(ext), 0)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | else: |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
168 | self.files = [fn] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
170 | self.__errorItem = None |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
171 | |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
172 | if len(self.files) > 0: |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
173 | self.checkProgress.setMaximum(len(self.files)) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
174 | self.checkProgress.setVisible(len(self.files) > 1) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
175 | self.checkProgressLabel.setVisible(len(self.files) > 1) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | QApplication.processEvents() |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
177 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
178 | # now go through all the files |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
179 | self.progress = 0 |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
180 | self.files.sort() |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
181 | if len(self.files) == 1: |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
182 | self.__batch = False |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
183 | self.check() |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
184 | else: |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
185 | self.__batch = True |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
186 | self.checkBatch() |
2680
110ac646a3a0
Fixes for TabNanny and some code cleanup. Source doku regenerated.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
187 | |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
188 | def check(self, codestring=''): |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
189 | """ |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
190 | Public method to start an indentation check for one file. |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
191 | |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
192 | The results are reported to the __processResult slot. |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
193 | @keyparam codestring optional sourcestring (str) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
194 | """ |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
195 | if not self.files: |
3137
59d9f8c238f0
Fixed issues in the syntax checker and indentation checker dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3091
diff
changeset
|
196 | self.checkProgressLabel.setPath("") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | self.checkProgress.setMaximum(1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | self.checkProgress.setValue(1) |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
199 | self.__finish() |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
200 | return |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
201 | |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
202 | self.filename = self.files.pop(0) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
203 | self.checkProgress.setValue(self.progress) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
204 | self.checkProgressLabel.setPath(self.filename) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
205 | QApplication.processEvents() |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
206 | self.__resort() |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
207 | |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
208 | if self.cancelled: |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
209 | return |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
211 | try: |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
212 | self.source = Utilities.readEncodedFile(self.filename)[0] |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
213 | self.source = Utilities.normalizeCode(self.source) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
214 | except (UnicodeError, IOError) as msg: |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
215 | self.noResults = False |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
216 | self.__createResultItem( |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
217 | self.filename, 1, |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
218 | "Error: {0}".format(str(msg)).rstrip()) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
219 | self.progress += 1 |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
220 | # Continue with next file |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
221 | self.check() |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
222 | return |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
223 | |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
224 | self.__finished = False |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
225 | self.indentCheckService.indentCheck( |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
226 | None, self.filename, self.source) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
227 | |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
228 | def checkBatch(self): |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
229 | """ |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
230 | Public method to start an indentation check batch job. |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
231 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
232 | The results are reported to the __processResult slot. |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
233 | """ |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
234 | self.__lastFileItem = None |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
235 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
236 | self.checkProgressLabel.setPath(self.tr("Preparing files...")) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
237 | progress = 0 |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
238 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
239 | argumentsList = [] |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
240 | for filename in self.files: |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
241 | progress += 1 |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
242 | self.checkProgress.setValue(progress) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
243 | QApplication.processEvents() |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
244 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
245 | try: |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
246 | source = Utilities.readEncodedFile(filename)[0] |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
247 | source = Utilities.normalizeCode(source) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
248 | except (UnicodeError, IOError) as msg: |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
249 | self.noResults = False |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
250 | self.__createResultItem( |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
251 | filename, 1, |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
252 | "Error: {0}".format(str(msg)).rstrip()) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
253 | continue |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
254 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
255 | argumentsList.append((filename, source)) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
256 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
257 | # reset the progress bar to the checked files |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
258 | self.checkProgress.setValue(self.progress) |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
259 | self.checkProgressLabel.setPath(self.tr("Transferring data...")) |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
260 | QApplication.processEvents() |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
261 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
262 | self.__finished = False |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
263 | self.indentCheckService.indentBatchCheck(argumentsList) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
264 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
265 | def __batchFinished(self): |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
266 | """ |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
267 | Private slot handling the completion of a batch job. |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
268 | """ |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
269 | self.checkProgressLabel.setPath("") |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
270 | self.checkProgress.setMaximum(1) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
271 | self.checkProgress.setValue(1) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
272 | self.__finish() |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
273 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
274 | def __processError(self, fn, msg): |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
275 | """ |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
276 | Private slot to process an error indication from the service. |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
277 | |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
278 | @param fn filename of the file |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
279 | @type str |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
280 | @param msg error message |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
281 | @type str |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
282 | """ |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
283 | self.__createErrorItem(fn, msg) |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
284 | |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
285 | if not self.__batch: |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
286 | self.check() |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
287 | |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
288 | def __processResult(self, fn, nok, line, error): |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
289 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
290 | Private slot called after perfoming a style check on one file. |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
291 | |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
292 | @param fn filename of the just checked file (str) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
293 | @param nok flag if a problem was found (bool) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
294 | @param line line number (str) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
295 | @param error text of the problem (str) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
296 | """ |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
297 | if self.__finished: |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
298 | return |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
299 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
300 | # Check if it's the requested file, otherwise ignore signal if not |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
301 | # in batch mode |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
302 | if not self.__batch and fn != self.filename: |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
303 | return |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
304 | |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
305 | if nok: |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
306 | self.noResults = False |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
307 | self.__createResultItem(fn, line, error.rstrip()) |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
308 | self.progress += 1 |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
309 | |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
310 | self.checkProgress.setValue(self.progress) |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
311 | self.checkProgressLabel.setPath(fn) |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
312 | QApplication.processEvents() |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
313 | self.__resort() |
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
314 | |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
315 | if not self.__batch: |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
316 | self.check() |
3414
448cfee96f45
Tabnanny ported to use the background service.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
317 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | def __finish(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | Private slot called when the action or the user pressed the button. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | """ |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
322 | if not self.__finished: |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
323 | self.__finished = True |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
324 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
325 | self.cancelled = True |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
326 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
327 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
328 | self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
329 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
330 | if self.noResults: |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
331 | self.__createResultItem( |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
332 | self.tr('No indentation errors found.'), "", "") |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
333 | QApplication.processEvents() |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
334 | self.resultList.header().resizeSections( |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
335 | QHeaderView.ResizeToContents) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
336 | self.resultList.header().setStretchLastSection(True) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
337 | |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
338 | self.checkProgress.setVisible(False) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
339 | self.checkProgressLabel.setVisible(False) |
3091
8239cae3f947
Made the progress bar of the syntax and indentation checker dialogs only visible, while it is checking and only if more than 1 file are being checked.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3036
diff
changeset
|
340 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | def on_buttonBox_clicked(self, button): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | Private slot called by a button of the button box clicked. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | @param button button that was clicked (QAbstractButton) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | if button == self.buttonBox.button(QDialogButtonBox.Close): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | self.close() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | elif button == self.buttonBox.button(QDialogButtonBox.Cancel): |
4237
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
350 | if self.__batch: |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
351 | self.indentCheckService.cancelIndentBatchCheck() |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
352 | QTimer.singleShot(1000, self.__finish) |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
353 | else: |
ff8a3e769fca
Added a batch mode to the indentation checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
354 | self.__finish() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | |
571
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
356 | @pyqtSlot() |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
357 | def on_startButton_clicked(self): |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
358 | """ |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
359 | Private slot to start a code metrics run. |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
360 | """ |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
361 | fileList = self.__fileList[:] |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
362 | |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
363 | filterString = self.excludeFilesEdit.text() |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
364 | if "ExcludeFiles" not in self.__data or \ |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
365 | filterString != self.__data["ExcludeFiles"]: |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
366 | self.__data["ExcludeFiles"] = filterString |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
367 | self.__project.setData("CHECKERSPARMS", "Tabnanny", self.__data) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
831
diff
changeset
|
368 | filterList = [f.strip() for f in filterString.split(",") |
831
f046b97785db
Little optimisation in the syntax and indentation checker dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
830
diff
changeset
|
369 | if f.strip()] |
571
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
370 | if filterList: |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
371 | for filter in filterList: |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
372 | fileList = \ |
831
f046b97785db
Little optimisation in the syntax and indentation checker dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
830
diff
changeset
|
373 | [f for f in fileList if not fnmatch.fnmatch(f, filter)] |
571
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
374 | |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
375 | self.resultList.clear() |
793
cd183f89874b
Changed the syntac checker dialog and the tabnanny dialog to use the new eflag: marker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
376 | self.noResults = True |
cd183f89874b
Changed the syntac checker dialog and the tabnanny dialog to use the new eflag: marker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
377 | self.cancelled = False |
571
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
378 | self.start(fileList) |
1a4101cb87eb
Added filename filters to the syntax checker and tabnanny dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
415
diff
changeset
|
379 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | def on_resultList_itemActivated(self, itm, col): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
831
diff
changeset
|
382 | Private slot to handle the activation of an item. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | @param itm reference to the activated item (QTreeWidgetItem) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | @param col column the item was activated in (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | if self.noResults: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
390 | fn = Utilities.normabspath(itm.data(0, self.filenameRole)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | lineno = int(itm.text(1)) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | |
96
9624a110667d
Started to clean up the code supported by py3flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
55
diff
changeset
|
393 | e5App().getObject("ViewManager").openSourceFile(fn, lineno) |