Tue, 28 Mar 2017 19:17:26 +0200
Fixed an issue with the code style checker dialog not showing tooltips for the complexity spin boxes because the text was entered as status text instead of tool tip.
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
5389
9b1c800daff3
Updated copyright for 2017.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5290
diff
changeset
|
3 | # Copyright (c) 2011 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
2980
2cb4e3c50b37
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2979
diff
changeset
|
7 | Module implementing a dialog to show the results of the code style check. |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3142
diff
changeset
|
10 | 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
|
11 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import os |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | import fnmatch |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
4235
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
15 | from PyQt5.QtCore import pyqtSlot, Qt, QTimer |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3621
diff
changeset
|
16 | from PyQt5.QtGui import QIcon |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3621
diff
changeset
|
17 | from PyQt5.QtWidgets import QDialog, QTreeWidgetItem, QAbstractButton, \ |
5636
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
18 | QDialogButtonBox, QApplication, QHeaderView, QListWidgetItem |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | from E5Gui.E5Application import e5App |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
2973
284c7f4bc875
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2972
diff
changeset
|
22 | from .Ui_CodeStyleCheckerDialog import Ui_CodeStyleCheckerDialog |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | import UI.PixmapCache |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | import Preferences |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | import Utilities |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
28 | from . import pycodestyle |
2863
62171fa4a6a4
Removed some obsolete code and corrected a PEP8 issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2862
diff
changeset
|
29 | |
4556
25d1fa006bf0
Process noqa under Python2.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4514
diff
changeset
|
30 | try: |
4563
881340f4bd0c
Fixed a few coding style issue related to 'blind except:' statements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4556
diff
changeset
|
31 | basestring # __IGNORE_WARNING__ |
881340f4bd0c
Fixed a few coding style issue related to 'blind except:' statements.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4556
diff
changeset
|
32 | except Exception: |
4556
25d1fa006bf0
Process noqa under Python2.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4514
diff
changeset
|
33 | basestring = str # define for Python3 |
25d1fa006bf0
Process noqa under Python2.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4514
diff
changeset
|
34 | |
2863
62171fa4a6a4
Removed some obsolete code and corrected a PEP8 issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2862
diff
changeset
|
35 | |
2973
284c7f4bc875
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2972
diff
changeset
|
36 | class CodeStyleCheckerDialog(QDialog, Ui_CodeStyleCheckerDialog): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | """ |
2980
2cb4e3c50b37
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2979
diff
changeset
|
38 | Class implementing a dialog to show the results of the code style check. |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | filenameRole = Qt.UserRole + 1 |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
41 | lineRole = Qt.UserRole + 2 |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | positionRole = Qt.UserRole + 3 |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
43 | messageRole = Qt.UserRole + 4 |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
44 | fixableRole = Qt.UserRole + 5 |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
45 | codeRole = Qt.UserRole + 6 |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
46 | ignoredRole = Qt.UserRole + 7 |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
48 | availableFutures = [ |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
49 | 'division', 'absolute_import', 'with_statement', |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
50 | 'print_function', 'unicode_literals', 'generator_stop'] |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
51 | |
5290
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
52 | noResults = 0 |
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
53 | noFiles = 1 |
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
54 | hasResults = 2 |
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
55 | |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
56 | def __init__(self, styleCheckService, parent=None): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | Constructor |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
60 | @param styleCheckService reference to the service |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
61 | (CodeStyleCheckService) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | @param parent reference to the parent widget (QWidget) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | """ |
3057
10516539f238
Merge with default branch after shorten the code lines to max. 79 characters.
T.Rzepka <Tobias.Rzepka@gmail.com>
diff
changeset
|
64 | super(CodeStyleCheckerDialog, self).__init__(parent) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | self.setupUi(self) |
4278
ccd1e13cb9bd
Fixed issues where dialogs could not be minimized on some desktop environments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4236
diff
changeset
|
66 | self.setWindowFlags(Qt.Window) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | |
5661
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
68 | self.optionsTabWidget.setCurrentIndex(0) |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
69 | |
3186
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3175
diff
changeset
|
70 | self.excludeMessagesSelectButton.setIcon( |
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3175
diff
changeset
|
71 | UI.PixmapCache.getIcon("select.png")) |
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3175
diff
changeset
|
72 | self.includeMessagesSelectButton.setIcon( |
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3175
diff
changeset
|
73 | UI.PixmapCache.getIcon("select.png")) |
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3175
diff
changeset
|
74 | self.fixIssuesSelectButton.setIcon( |
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3175
diff
changeset
|
75 | UI.PixmapCache.getIcon("select.png")) |
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3175
diff
changeset
|
76 | self.noFixIssuesSelectButton.setIcon( |
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3175
diff
changeset
|
77 | UI.PixmapCache.getIcon("select.png")) |
a05eff845522
Changed all the file or directory selection buttons to QToolButton and gave them an icon.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3175
diff
changeset
|
78 | |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
79 | self.docTypeComboBox.addItem(self.tr("PEP-257"), "pep257") |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
80 | self.docTypeComboBox.addItem(self.tr("Eric"), "eric") |
2928
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
81 | |
5636
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
82 | for future in CodeStyleCheckerDialog.availableFutures: |
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
83 | itm = QListWidgetItem(future, self.futuresList) |
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
84 | itm.setFlags(itm.flags() | Qt.ItemIsUserCheckable) |
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
85 | itm.setCheckState(Qt.Unchecked) |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
86 | |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
87 | self.statisticsButton = self.buttonBox.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
88 | self.tr("Statistics..."), QDialogButtonBox.ActionRole) |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
89 | self.statisticsButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
90 | self.tr("Press to show some statistics for the last run")) |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
91 | self.statisticsButton.setEnabled(False) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | self.showButton = self.buttonBox.addButton( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
93 | self.tr("Show"), QDialogButtonBox.ActionRole) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | self.showButton.setToolTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3186
diff
changeset
|
95 | self.tr("Press to show all files containing an issue")) |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
96 | self.showButton.setEnabled(False) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | self.resultList.headerItem().setText(self.resultList.columnCount(), "") |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | self.resultList.header().setSortIndicator(0, Qt.AscendingOrder) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | |
5619
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
103 | self.addBuiltinButton.setIcon(UI.PixmapCache.getIcon("plus.png")) |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
104 | self.deleteBuiltinButton.setIcon(UI.PixmapCache.getIcon("minus.png")) |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
105 | |
2947
bd95f61c4f96
Some enhancements to the coding style checker dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2929
diff
changeset
|
106 | self.checkProgress.setVisible(False) |
bd95f61c4f96
Some enhancements to the coding style checker dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2929
diff
changeset
|
107 | self.checkProgressLabel.setVisible(False) |
bd95f61c4f96
Some enhancements to the coding style checker dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2929
diff
changeset
|
108 | self.checkProgressLabel.setMaximumWidth(600) |
bd95f61c4f96
Some enhancements to the coding style checker dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2929
diff
changeset
|
109 | |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
110 | self.styleCheckService = styleCheckService |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
111 | self.styleCheckService.styleChecked.connect(self.__processResult) |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
112 | self.styleCheckService.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
|
113 | self.styleCheckService.error.connect(self.__processError) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
114 | self.filename = None |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
115 | |
5290
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
116 | self.results = CodeStyleCheckerDialog.noResults |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | self.cancelled = False |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | self.__lastFileItem = None |
5289
26e4a082ba54
Avoid exception and be able to close the code style dialog if no file found because of filter settings.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5147
diff
changeset
|
119 | self.__batch = False |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
120 | 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
|
121 | self.__errorItem = None |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | self.__fileOrFileList = "" |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | self.__project = None |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | self.__forProject = False |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | self.__data = {} |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
127 | self.__statistics = {} |
3746
0c1d19eb0ac6
Wrong behavior if more than one file for code style fixes selected fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3656
diff
changeset
|
128 | self.__onlyFixes = {} |
4437
b9cc331a4576
Some little fixes to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4434
diff
changeset
|
129 | self.__noFixCodesList = [] |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | self.on_loadDefaultButton_clicked() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | def __resort(self): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | Private method to resort the tree. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
137 | self.resultList.sortItems(self.resultList.sortColumn(), |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | self.resultList.header().sortIndicatorOrder() |
3036
30c81c9e88b8
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
139 | ) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
141 | 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
|
142 | """ |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
143 | Private slot to create a new error item in the result list. |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
144 | |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
145 | @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
|
146 | @type str |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
147 | @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
|
148 | @type str |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
149 | """ |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
150 | 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
|
151 | 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
|
152 | 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
|
153 | 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
|
154 | 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
|
155 | |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
156 | 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
|
157 | message) |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
158 | 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
|
159 | 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
|
160 | 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
|
161 | 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
|
162 | |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
163 | def __createResultItem(self, filename, line, pos, message, fixed, |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
164 | autofixing, ignored): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | Private method to create an entry in the result list. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
168 | @param filename file name of the file (string) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | @param line line number of issue (integer or string) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | @param pos character position of issue (integer or string) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | @param message message text (string) |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
172 | @param fixed flag indicating a fixed issue (boolean) |
2890
86b03a0c94bc
Started modifying PEP-8 dialog to change fixable state if a fixable issue could not be fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2881
diff
changeset
|
173 | @param autofixing flag indicating, that we are fixing issues |
86b03a0c94bc
Started modifying PEP-8 dialog to change fixable state if a fixable issue could not be fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2881
diff
changeset
|
174 | automatically (boolean) |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
175 | @param ignored flag indicating an ignored issue (boolean) |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
176 | @return reference to the created item (QTreeWidgetItem) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | """ |
2978
9d63132a23e0
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2973
diff
changeset
|
178 | from .CodeStyleFixer import FixableCodeStyleIssues |
2404
cba0ff902c2b
Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
179 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | if self.__lastFileItem is None: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | # It's a new file |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
182 | self.__lastFileItem = 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
|
183 | self.__project.getRelativePath(filename)]) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | self.__lastFileItem.setFirstColumnSpanned(True) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | self.__lastFileItem.setExpanded(True) |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
186 | self.__lastFileItem.setData(0, self.filenameRole, filename) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
188 | fixable = False |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | code, message = message.split(None, 1) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
190 | itm = QTreeWidgetItem( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
191 | self.__lastFileItem, |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | ["{0:6}".format(line), code, message]) |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
193 | if code.startswith(("W", "-", "C", "M")): |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
194 | itm.setIcon(1, UI.PixmapCache.getIcon("warning.png")) |
2894
8e4264045fc9
Started implementing a PEP-8 naming checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
195 | elif code.startswith("N"): |
8e4264045fc9
Started implementing a PEP-8 naming checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2891
diff
changeset
|
196 | itm.setIcon(1, UI.PixmapCache.getIcon("namingError.png")) |
2915
9da653363d07
Started implementing a checker for PEP-257 docstring conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2914
diff
changeset
|
197 | elif code.startswith("D"): |
9da653363d07
Started implementing a checker for PEP-257 docstring conventions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2914
diff
changeset
|
198 | itm.setIcon(1, UI.PixmapCache.getIcon("docstringError.png")) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | else: |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
200 | itm.setIcon(1, UI.PixmapCache.getIcon("syntaxError.png")) |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
201 | if fixed: |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
202 | itm.setIcon(0, UI.PixmapCache.getIcon("issueFixed.png")) |
4437
b9cc331a4576
Some little fixes to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4434
diff
changeset
|
203 | elif code in FixableCodeStyleIssues and not autofixing and \ |
b9cc331a4576
Some little fixes to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4434
diff
changeset
|
204 | code not in self.__noFixCodesList: |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
205 | itm.setIcon(0, UI.PixmapCache.getIcon("issueFixable.png")) |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
206 | fixable = True |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
207 | |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
208 | itm.setTextAlignment(0, Qt.AlignRight) |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
209 | itm.setTextAlignment(1, Qt.AlignHCenter) |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
210 | |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
211 | itm.setTextAlignment(0, Qt.AlignVCenter) |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
212 | itm.setTextAlignment(1, Qt.AlignVCenter) |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
213 | itm.setTextAlignment(2, Qt.AlignVCenter) |
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
214 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
215 | itm.setData(0, self.filenameRole, filename) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | itm.setData(0, self.lineRole, int(line)) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | itm.setData(0, self.positionRole, int(pos)) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | itm.setData(0, self.messageRole, message) |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
219 | itm.setData(0, self.fixableRole, fixable) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
220 | itm.setData(0, self.codeRole, code) |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
221 | itm.setData(0, self.ignoredRole, ignored) |
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
222 | |
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
223 | if ignored: |
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
224 | font = itm.font(0) |
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
225 | font.setItalic(True) |
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
226 | for col in range(itm.columnCount()): |
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
227 | itm.setFont(col, font) |
2891
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
228 | |
6843b7d23279
Changed the PEP-8 fixer and dialog to decouple the indication of the fixed status from the generation of the PEP-8 status.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2890
diff
changeset
|
229 | return itm |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
230 | |
2890
86b03a0c94bc
Started modifying PEP-8 dialog to change fixable state if a fixable issue could not be fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2881
diff
changeset
|
231 | def __modifyFixedResultItem(self, itm, text, fixed): |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
232 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
233 | Private method to modify a result list entry to show its |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
234 | positive fixed state. |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
235 | |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
236 | @param itm reference to the item to modify (QTreeWidgetItem) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
237 | @param text text to be appended (string) |
2890
86b03a0c94bc
Started modifying PEP-8 dialog to change fixable state if a fixable issue could not be fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2881
diff
changeset
|
238 | @param fixed flag indicating a fixed issue (boolean) |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
239 | """ |
2890
86b03a0c94bc
Started modifying PEP-8 dialog to change fixable state if a fixable issue could not be fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2881
diff
changeset
|
240 | if fixed: |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
241 | code, message = text.split(None, 1) |
2890
86b03a0c94bc
Started modifying PEP-8 dialog to change fixable state if a fixable issue could not be fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2881
diff
changeset
|
242 | itm.setText(2, message) |
86b03a0c94bc
Started modifying PEP-8 dialog to change fixable state if a fixable issue could not be fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2881
diff
changeset
|
243 | itm.setIcon(0, UI.PixmapCache.getIcon("issueFixed.png")) |
86b03a0c94bc
Started modifying PEP-8 dialog to change fixable state if a fixable issue could not be fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2881
diff
changeset
|
244 | |
86b03a0c94bc
Started modifying PEP-8 dialog to change fixable state if a fixable issue could not be fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2881
diff
changeset
|
245 | itm.setData(0, self.messageRole, message) |
86b03a0c94bc
Started modifying PEP-8 dialog to change fixable state if a fixable issue could not be fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2881
diff
changeset
|
246 | else: |
86b03a0c94bc
Started modifying PEP-8 dialog to change fixable state if a fixable issue could not be fixed.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2881
diff
changeset
|
247 | itm.setIcon(0, QIcon()) |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
248 | itm.setData(0, self.fixableRole, False) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
250 | def __updateStatistics(self, statistics, fixer, ignoredErrors): |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
251 | """ |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
252 | Private method to update the collected statistics. |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
253 | |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
254 | @param statistics dictionary of statistical data with |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
255 | message code as key and message count as value |
2980
2cb4e3c50b37
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2979
diff
changeset
|
256 | @param fixer reference to the code style fixer (CodeStyleFixer) |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
257 | @param ignoredErrors number of ignored errors (integer) |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
258 | """ |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
259 | self.__statistics["_FilesCount"] += 1 |
3056
9986ec0e559a
Merge with default branch before style changes.
T.Rzepka <Tobias.Rzepka@gmail.com>
diff
changeset
|
260 | stats = [k for k in statistics.keys() if k[0].isupper()] |
2914
6b30a602e404
Fixed an issue in the code style checker dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2905
diff
changeset
|
261 | if stats: |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
262 | self.__statistics["_FilesIssues"] += 1 |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
263 | for key in statistics: |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
264 | if key in self.__statistics: |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
265 | self.__statistics[key] += statistics[key] |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
266 | else: |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
267 | self.__statistics[key] = statistics[key] |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
268 | self.__statistics["_IssuesFixed"] += fixer |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
269 | self.__statistics["_IgnoredErrors"] += ignoredErrors |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
270 | |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
271 | def __updateFixerStatistics(self, fixer): |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
272 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
273 | Private method to update the collected fixer related statistics. |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
274 | |
2980
2cb4e3c50b37
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2979
diff
changeset
|
275 | @param fixer reference to the code style fixer (CodeStyleFixer) |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
276 | """ |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
277 | self.__statistics["_IssuesFixed"] += fixer |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
278 | |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
279 | def __resetStatistics(self): |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
280 | """ |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
281 | Private slot to reset the statistics data. |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
282 | """ |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
283 | self.__statistics = {} |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
284 | self.__statistics["_FilesCount"] = 0 |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
285 | self.__statistics["_FilesIssues"] = 0 |
853
ec7dd115e26b
Continued implementing a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
286 | self.__statistics["_IssuesFixed"] = 0 |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
287 | self.__statistics["_IgnoredErrors"] = 0 |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
288 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | def prepare(self, fileList, project): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | Public method to prepare the dialog with a list of filenames. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | @param fileList list of filenames (list of strings) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | @param project reference to the project object (Project) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | self.__fileOrFileList = fileList[:] |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | self.__project = project |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | self.__forProject = True |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
304 | self.__data = self.__project.getData("CHECKERSPARMS", "Pep8Checker") |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
305 | if self.__data is None or \ |
2866
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
306 | len(self.__data) < 6: |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | # initialize the data structure |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | self.__data = { |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
309 | "ExcludeFiles": "", |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
310 | "ExcludeMessages": pycodestyle.DEFAULT_IGNORE, |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
311 | "IncludeMessages": "", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
312 | "RepeatMessages": False, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
313 | "FixCodes": "", |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
314 | "FixIssues": False, |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | } |
2866
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
316 | if "MaxLineLength" not in self.__data: |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
317 | self.__data["MaxLineLength"] = pycodestyle.MAX_LINE_LENGTH |
2866
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
318 | if "HangClosing" not in self.__data: |
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
319 | self.__data["HangClosing"] = False |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
320 | if "NoFixCodes" not in self.__data: |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
321 | self.__data["NoFixCodes"] = "E501" |
2928
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
322 | if "DocstringType" not in self.__data: |
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
323 | self.__data["DocstringType"] = "pep257" |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
324 | if "ShowIgnored" not in self.__data: |
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
325 | self.__data["ShowIgnored"] = False |
4423
14f3ca3dcef6
Added a code complexity checker iaw. McCabe to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4278
diff
changeset
|
326 | if "MaxCodeComplexity" not in self.__data: |
14f3ca3dcef6
Added a code complexity checker iaw. McCabe to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4278
diff
changeset
|
327 | self.__data["MaxCodeComplexity"] = 10 |
5661
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
328 | if "LineComplexity" not in self.__data: |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
329 | self.__data["LineComplexity"] = 15 |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
330 | if "LineComplexityScore" not in self.__data: |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
331 | self.__data["LineComplexityScore"] = 10 |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
332 | if "ValidEncodings" not in self.__data: |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
333 | self.__data["ValidEncodings"] = "latin-1, utf-8" |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
334 | if "CopyrightMinFileSize" not in self.__data or \ |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
335 | "CopyrightAuthor" not in self.__data: |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
336 | self.__data["CopyrightMinFileSize"] = 0 |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
337 | self.__data["CopyrightAuthor"] = "" |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
338 | if "FutureChecker" not in self.__data: |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
339 | self.__data["FutureChecker"] = "" |
5619
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
340 | if "BuiltinsChecker" not in self.__data: |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
341 | self.__data["BuiltinsChecker"] = { |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
342 | "str": ["unicode", ], |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
343 | "chr": ["unichr", ], |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
344 | } |
2866
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
345 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | self.excludeFilesEdit.setText(self.__data["ExcludeFiles"]) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | self.excludeMessagesEdit.setText(self.__data["ExcludeMessages"]) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | self.includeMessagesEdit.setText(self.__data["IncludeMessages"]) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | self.repeatCheckBox.setChecked(self.__data["RepeatMessages"]) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
350 | self.fixIssuesEdit.setText(self.__data["FixCodes"]) |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
351 | self.noFixIssuesEdit.setText(self.__data["NoFixCodes"]) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
352 | self.fixIssuesCheckBox.setChecked(self.__data["FixIssues"]) |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
353 | self.ignoredCheckBox.setChecked(self.__data["ShowIgnored"]) |
2866
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
354 | self.lineLengthSpinBox.setValue(self.__data["MaxLineLength"]) |
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
355 | self.hangClosingCheckBox.setChecked(self.__data["HangClosing"]) |
2928
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
356 | self.docTypeComboBox.setCurrentIndex( |
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
357 | self.docTypeComboBox.findData(self.__data["DocstringType"])) |
4423
14f3ca3dcef6
Added a code complexity checker iaw. McCabe to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4278
diff
changeset
|
358 | self.complexitySpinBox.setValue(self.__data["MaxCodeComplexity"]) |
5661
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
359 | self.lineComplexitySpinBox.setValue(self.__data["LineComplexity"]) |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
360 | self.lineComplexityScoreSpinBox.setValue( |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
361 | self.__data["LineComplexityScore"]) |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
362 | self.encodingsEdit.setText(self.__data["ValidEncodings"]) |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
363 | self.copyrightFileSizeSpinBox.setValue( |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
364 | self.__data["CopyrightMinFileSize"]) |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
365 | self.copyrightAuthorEdit.setText(self.__data["CopyrightAuthor"]) |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
366 | self.__initFuturesList(self.__data["FutureChecker"]) |
5619
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
367 | self.__initBuiltinsIgnoreList(self.__data["BuiltinsChecker"]) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
369 | def start(self, fn, save=False, repeat=None): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | """ |
2980
2cb4e3c50b37
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2979
diff
changeset
|
371 | Public slot to start the code style check. |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | @param fn file or list of files or directory to be checked |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | (string or list of strings) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
375 | @keyparam save flag indicating to save the given |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | file/file list/directory (boolean) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | @keyparam repeat state of the repeat check box if it is not None |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | (None or boolean) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | if self.__project is None: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | self.__project = e5App().getObject("Project") |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | self.cancelled = False |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) |
940
0f5461fe69d4
Implemented some speed improvements for the PEP 8 checker dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
853
diff
changeset
|
387 | self.statisticsButton.setEnabled(False) |
0f5461fe69d4
Implemented some speed improvements for the PEP 8 checker dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
853
diff
changeset
|
388 | self.showButton.setEnabled(False) |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
389 | self.fixButton.setEnabled(False) |
2902
15a5fe0b0a09
Changed PEP-8 dialog code to disable the the start button while a check is in progress.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2895
diff
changeset
|
390 | self.startButton.setEnabled(False) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | if repeat is not None: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | self.repeatCheckBox.setChecked(repeat) |
2947
bd95f61c4f96
Some enhancements to the coding style checker dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2929
diff
changeset
|
393 | self.checkProgress.setVisible(True) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | QApplication.processEvents() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
396 | if save: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | self.__fileOrFileList = fn |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | if isinstance(fn, list): |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
400 | self.files = fn[:] |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | elif os.path.isdir(fn): |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
402 | self.files = [] |
2607
e5115553185a
Fixes and consolidation for PEP8-checker.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
403 | extensions = set(Preferences.getPython("PythonExtensions") + |
3065
070b35dde35e
Fixed a bunch of indentation issues.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
404 | Preferences.getPython("Python3Extensions")) |
2607
e5115553185a
Fixes and consolidation for PEP8-checker.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
405 | for ext in extensions: |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
406 | self.files.extend(Utilities.direntries( |
3065
070b35dde35e
Fixed a bunch of indentation issues.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
407 | fn, True, '*{0}'.format(ext), 0)) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | else: |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
409 | self.files = [fn] |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
410 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | # filter the list depending on the filter string |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
412 | if self.files: |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | filterString = self.excludeFilesEdit.text() |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
414 | filterList = [f.strip() for f in filterString.split(",") |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | if f.strip()] |
5597
3d88d53f8c2b
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
416 | for fileFilter in filterList: |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
417 | self.files = \ |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
418 | [f for f in self.files |
5597
3d88d53f8c2b
Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
419 | if not fnmatch.fnmatch(f, fileFilter.strip())] |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
420 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
421 | self.__errorItem = None |
3175
1a6638ccce9d
Fixed an issue in the syntax and code style checker dialogs causing markers of open files not to be checked being cleared.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
422 | self.__resetStatistics() |
3456 | 423 | self.__clearErrors(self.files) |
3175
1a6638ccce9d
Fixed an issue in the syntax and code style checker dialogs causing markers of open files not to be checked being cleared.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
424 | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
425 | if len(self.files) > 0: |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
426 | self.checkProgress.setMaximum(len(self.files)) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
427 | self.checkProgressLabel.setVisible(len(self.files) > 1) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
428 | self.checkProgress.setVisible(len(self.files) > 1) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | QApplication.processEvents() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | # extract the configuration values |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | excludeMessages = self.excludeMessagesEdit.text() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | includeMessages = self.includeMessagesEdit.text() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | repeatMessages = self.repeatCheckBox.isChecked() |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
435 | fixCodes = self.fixIssuesEdit.text() |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
436 | noFixCodes = self.noFixIssuesEdit.text() |
4437
b9cc331a4576
Some little fixes to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4434
diff
changeset
|
437 | self.__noFixCodesList = \ |
b9cc331a4576
Some little fixes to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4434
diff
changeset
|
438 | [c.strip() for c in noFixCodes.split(",") if c.strip()] |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
439 | fixIssues = self.fixIssuesCheckBox.isChecked() and repeatMessages |
3515 | 440 | self.showIgnored = self.ignoredCheckBox.isChecked() and \ |
441 | repeatMessages | |
2866
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
442 | maxLineLength = self.lineLengthSpinBox.value() |
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
443 | hangClosing = self.hangClosingCheckBox.isChecked() |
2928
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
444 | docType = self.docTypeComboBox.itemData( |
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
445 | self.docTypeComboBox.currentIndex()) |
5661
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
446 | codeComplexityArgs = { |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
447 | "McCabeComplexity": self.complexitySpinBox.value(), |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
448 | "LineComplexity": self.lineComplexitySpinBox.value(), |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
449 | "LineComplexityScore": self.lineComplexityScoreSpinBox.value(), |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
450 | } |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
451 | miscellaneousArgs = { |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
452 | "CodingChecker": self.encodingsEdit.text(), |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
453 | "CopyrightChecker": { |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
454 | "MinFilesize": self.copyrightFileSizeSpinBox.value(), |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
455 | "Author": self.copyrightAuthorEdit.text(), |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
456 | }, |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
457 | "FutureChecker": self.__getSelectedFutureImports(), |
5619
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
458 | "BuiltinsChecker": self.__getBuiltinsIgnoreList(), |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
459 | } |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
461 | self.__options = [excludeMessages, includeMessages, repeatMessages, |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
462 | fixCodes, noFixCodes, fixIssues, maxLineLength, |
5661
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
463 | hangClosing, docType, codeComplexityArgs, |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
464 | miscellaneousArgs] |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
465 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
466 | # now go through all the files |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
467 | self.progress = 0 |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
468 | self.files.sort() |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
469 | if len(self.files) == 1: |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
470 | self.__batch = False |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
471 | self.check() |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
472 | else: |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
473 | self.__batch = True |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
474 | self.checkBatch() |
5289
26e4a082ba54
Avoid exception and be able to close the code style dialog if no file found because of filter settings.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5147
diff
changeset
|
475 | else: |
5290
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
476 | self.results = CodeStyleCheckerDialog.noFiles |
5289
26e4a082ba54
Avoid exception and be able to close the code style dialog if no file found because of filter settings.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5147
diff
changeset
|
477 | self.__finished = False |
26e4a082ba54
Avoid exception and be able to close the code style dialog if no file found because of filter settings.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5147
diff
changeset
|
478 | self.__finish() |
4514
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
479 | |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
480 | def __modifyOptions(self, source): |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
481 | """ |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
482 | Private method to modify the options based on eflag: entries. |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
483 | |
4514
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
484 | This method looks for comment lines like '# eflag: noqa = M601' |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
485 | at the end of the source in order to extend the list of excluded |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
486 | messages for one file only. |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
487 | |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
488 | @param source source text (list of str or str) |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
489 | @return list of checker options |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
490 | """ |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
491 | options = self.__options[:] |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
492 | flags = Utilities.extractFlags(source) |
4556
25d1fa006bf0
Process noqa under Python2.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4514
diff
changeset
|
493 | if "noqa" in flags and isinstance(flags["noqa"], basestring): |
4514
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
494 | excludeMessages = \ |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
495 | options[0].strip().rstrip(",") |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
496 | if excludeMessages: |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
497 | excludeMessages += "," |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
498 | excludeMessages += flags["noqa"] |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
499 | options[0] = excludeMessages |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
500 | return options |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
501 | |
3746
0c1d19eb0ac6
Wrong behavior if more than one file for code style fixes selected fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3656
diff
changeset
|
502 | def check(self, codestring=''): |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
503 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3558
diff
changeset
|
504 | Public method to start a style check for one file. |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
505 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
506 | The results are reported to the __processResult slot. |
3558
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3549
diff
changeset
|
507 | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
508 | @keyparam codestring optional sourcestring (str) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
509 | """ |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
510 | if not self.files: |
2947
bd95f61c4f96
Some enhancements to the coding style checker dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2929
diff
changeset
|
511 | self.checkProgressLabel.setPath("") |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | self.checkProgress.setMaximum(1) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | self.checkProgress.setValue(1) |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
514 | self.__finish() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
515 | return |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
516 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
517 | self.filename = self.files.pop(0) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
518 | self.checkProgress.setValue(self.progress) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
519 | self.checkProgressLabel.setPath(self.filename) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
520 | QApplication.processEvents() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
521 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
522 | if self.cancelled: |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
523 | self.__resort() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
524 | return |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
525 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
526 | self.__lastFileItem = None |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
527 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
528 | if codestring: |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
529 | source = codestring.splitlines(True) |
4217
38e8903f9c2f
Fixed two little issue that could lead to a traceback in the code style checker dialog and Utilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
530 | encoding = Utilities.get_coding(source) |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
531 | else: |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
532 | try: |
4217
38e8903f9c2f
Fixed two little issue that could lead to a traceback in the code style checker dialog and Utilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
533 | source, encoding = Utilities.readEncodedFile( |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
534 | self.filename) |
4217
38e8903f9c2f
Fixed two little issue that could lead to a traceback in the code style checker dialog and Utilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
535 | source = source.splitlines(True) |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
536 | except (UnicodeError, IOError) as msg: |
5290
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
537 | self.results = CodeStyleCheckerDialog.hasResults |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
538 | self.__createResultItem( |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
539 | self.filename, 1, 1, |
3484 | 540 | self.tr("Error: {0}").format(str(msg)) |
3618
49e7fbd66ef9
Fixed behavior and output if a file is deleted outside eric.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3616
diff
changeset
|
541 | .rstrip(), False, False, False) |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
542 | self.progress += 1 |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
543 | # Continue with next file |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
544 | self.check() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
545 | return |
4217
38e8903f9c2f
Fixed two little issue that could lead to a traceback in the code style checker dialog and Utilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
546 | if encoding.endswith( |
38e8903f9c2f
Fixed two little issue that could lead to a traceback in the code style checker dialog and Utilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
547 | ('-selected', '-default', '-guessed', '-ignore')): |
38e8903f9c2f
Fixed two little issue that could lead to a traceback in the code style checker dialog and Utilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
548 | encoding = encoding.rsplit('-', 1)[0] |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
549 | |
4514
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
550 | options = self.__modifyOptions(source) |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
551 | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
552 | errors = [] |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
553 | self.__itms = [] |
3746
0c1d19eb0ac6
Wrong behavior if more than one file for code style fixes selected fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3656
diff
changeset
|
554 | for error, itm in self.__onlyFixes.pop(self.filename, []): |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
555 | errors.append(error) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
556 | self.__itms.append(itm) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
557 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
558 | eol = self.__getEol(self.filename) |
4514
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
559 | args = options + [ |
3549
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3515
diff
changeset
|
560 | errors, eol, encoding, Preferences.getEditor("CreateBackupFile") |
96ebf42cd960
Added the file backup functionality in the code style fixer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3515
diff
changeset
|
561 | ] |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
562 | self.__finished = False |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
563 | self.styleCheckService.styleCheck( |
4217
38e8903f9c2f
Fixed two little issue that could lead to a traceback in the code style checker dialog and Utilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4021
diff
changeset
|
564 | None, self.filename, source, args) |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
565 | |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
566 | def checkBatch(self): |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
567 | """ |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
568 | Public method to start a style check batch job. |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
569 | |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
570 | The results are reported to the __processResult slot. |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
571 | """ |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
572 | self.__lastFileItem = None |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
573 | |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
574 | self.checkProgressLabel.setPath(self.tr("Preparing files...")) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
575 | progress = 0 |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
576 | |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
577 | argumentsList = [] |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
578 | for filename in self.files: |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
579 | progress += 1 |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
580 | self.checkProgress.setValue(progress) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
581 | QApplication.processEvents() |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
582 | |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
583 | try: |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
584 | source, encoding = Utilities.readEncodedFile( |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
585 | filename) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
586 | source = source.splitlines(True) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
587 | except (UnicodeError, IOError) as msg: |
5290
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
588 | self.results = CodeStyleCheckerDialog.hasResults |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
589 | self.__createResultItem( |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
590 | filename, 1, 1, |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
591 | self.tr("Error: {0}").format(str(msg)) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
592 | .rstrip(), False, False, False) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
593 | continue |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
594 | |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
595 | if encoding.endswith( |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
596 | ('-selected', '-default', '-guessed', '-ignore')): |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
597 | encoding = encoding.rsplit('-', 1)[0] |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
598 | |
4514
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
599 | options = self.__modifyOptions(source) |
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
600 | |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
601 | errors = [] |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
602 | self.__itms = [] |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
603 | for error, itm in self.__onlyFixes.pop(filename, []): |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
604 | errors.append(error) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
605 | self.__itms.append(itm) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
606 | |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
607 | eol = self.__getEol(filename) |
4514
e410e76d6538
Added capability to disable code style checks using an eflags: comment like 'eflags: noqa = M601, M702'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4509
diff
changeset
|
608 | args = options + [ |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
609 | errors, eol, encoding, |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
610 | Preferences.getEditor("CreateBackupFile") |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
611 | ] |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
612 | argumentsList.append((filename, source, args)) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
613 | |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
614 | # reset the progress bar to the checked files |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
615 | 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
|
616 | self.checkProgressLabel.setPath(self.tr("Transferring data...")) |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
617 | QApplication.processEvents() |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
618 | |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
619 | self.__finished = False |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
620 | self.styleCheckService.styleBatchCheck(argumentsList) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
621 | |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
622 | def __batchFinished(self): |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
623 | """ |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
624 | Private slot handling the completion of a batch job. |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
625 | """ |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
626 | self.checkProgressLabel.setPath("") |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
627 | self.checkProgress.setMaximum(1) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
628 | self.checkProgress.setValue(1) |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
629 | self.__finish() |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
630 | |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
631 | 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
|
632 | """ |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
633 | 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
|
634 | |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
635 | @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
|
636 | @type str |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
637 | @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
|
638 | @type str |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
639 | """ |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
640 | 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
|
641 | |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
642 | 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
|
643 | self.check() |
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4501
diff
changeset
|
644 | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
645 | def __processResult(self, fn, codeStyleCheckerStats, fixes, results): |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
646 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3558
diff
changeset
|
647 | Private slot called after perfoming a style check on one file. |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
648 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
649 | @param fn filename of the just checked file (str) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
650 | @param codeStyleCheckerStats stats of style and name check (dict) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
651 | @param fixes number of applied fixes (int) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
652 | @param results tuple for each found violation of style (tuple of |
3515 | 653 | lineno (int), position (int), text (str), ignored (bool), |
654 | fixed (bool), autofixing (bool)) | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
655 | """ |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
656 | if self.__finished: |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
657 | return |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
658 | |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
659 | # Check if it's the requested file, otherwise ignore signal if not |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
660 | # in batch mode |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
661 | if not self.__batch and fn != self.filename: |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
662 | return |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
663 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
664 | # disable updates of the list for speed |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
665 | self.resultList.setUpdatesEnabled(False) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
666 | self.resultList.setSortingEnabled(False) |
3515 | 667 | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
668 | fixed = None |
3515 | 669 | ignoredErrors = 0 |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
670 | if self.__itms: |
3515 | 671 | for itm, (lineno, position, text, ignored, fixed, autofixing) in \ |
672 | zip(self.__itms, results): | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
673 | self.__modifyFixedResultItem(itm, text, fixed) |
3746
0c1d19eb0ac6
Wrong behavior if more than one file for code style fixes selected fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3656
diff
changeset
|
674 | self.__updateFixerStatistics(fixes) |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
675 | else: |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
676 | self.__lastFileItem = None |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
677 | |
3515 | 678 | for lineno, position, text, ignored, fixed, autofixing in results: |
679 | if ignored: | |
680 | ignoredErrors += 1 | |
681 | if self.showIgnored: | |
682 | text = self.tr("{0} (ignored)").format(text) | |
683 | else: | |
684 | continue | |
5290
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
685 | self.results = CodeStyleCheckerDialog.hasResults |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
686 | self.__createResultItem( |
3515 | 687 | fn, lineno, position, text, fixed, autofixing, ignored) |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
688 | |
3515 | 689 | self.__updateStatistics( |
690 | codeStyleCheckerStats, fixes, ignoredErrors) | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
691 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
692 | if fixed: |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
693 | vm = e5App().getObject("ViewManager") |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
694 | editor = vm.getOpenEditor(fn) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
695 | if editor: |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
696 | editor.refresh() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
697 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
698 | self.progress += 1 |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
699 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
700 | self.__resort() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
701 | # reenable updates of the list |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
702 | self.resultList.setSortingEnabled(True) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
703 | self.resultList.setUpdatesEnabled(True) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
704 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
705 | self.checkProgress.setValue(self.progress) |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
706 | self.checkProgressLabel.setPath(fn) |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
707 | QApplication.processEvents() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
708 | |
4218
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
709 | if not self.__batch: |
f542ad1f76c5
Added a batch mode to the code style checker to make use of multiple CPUs/CPU-Cores.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4217
diff
changeset
|
710 | self.check() |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
711 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
712 | def __finish(self): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
713 | """ |
2980
2cb4e3c50b37
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2979
diff
changeset
|
714 | Private slot called when the code style check finished or the user |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
715 | pressed the cancel button. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
716 | """ |
4235
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
717 | if not self.__finished: |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
718 | self.__finished = True |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
719 | |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
720 | self.cancelled = True |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
721 | self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
722 | self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
723 | self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
724 | self.statisticsButton.setEnabled(True) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
725 | self.showButton.setEnabled(True) |
4235
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
726 | self.startButton.setEnabled(True) |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
727 | |
5290
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
728 | if self.results != CodeStyleCheckerDialog.hasResults: |
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
729 | if self.results == CodeStyleCheckerDialog.noResults: |
5289
26e4a082ba54
Avoid exception and be able to close the code style dialog if no file found because of filter settings.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5147
diff
changeset
|
730 | QTreeWidgetItem( |
26e4a082ba54
Avoid exception and be able to close the code style dialog if no file found because of filter settings.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5147
diff
changeset
|
731 | self.resultList, [self.tr('No issues found.')]) |
26e4a082ba54
Avoid exception and be able to close the code style dialog if no file found because of filter settings.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5147
diff
changeset
|
732 | else: |
26e4a082ba54
Avoid exception and be able to close the code style dialog if no file found because of filter settings.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5147
diff
changeset
|
733 | QTreeWidgetItem( |
26e4a082ba54
Avoid exception and be able to close the code style dialog if no file found because of filter settings.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5147
diff
changeset
|
734 | self.resultList, |
26e4a082ba54
Avoid exception and be able to close the code style dialog if no file found because of filter settings.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5147
diff
changeset
|
735 | [self.tr('No files found (check your ignore list).')]) |
4235
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
736 | QApplication.processEvents() |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
737 | self.showButton.setEnabled(False) |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
738 | else: |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
739 | self.showButton.setEnabled(True) |
4236
8d4e498a7af8
Fixed a few coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4235
diff
changeset
|
740 | self.resultList.header().resizeSections( |
8d4e498a7af8
Fixed a few coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4235
diff
changeset
|
741 | QHeaderView.ResizeToContents) |
4235
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
742 | self.resultList.header().setStretchLastSection(True) |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
743 | |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
744 | self.checkProgress.setVisible(False) |
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
745 | self.checkProgressLabel.setVisible(False) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
746 | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
747 | def __getEol(self, fn): |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
748 | """ |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
749 | Private method to get the applicable eol string. |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
750 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
751 | @param fn filename where to determine the line ending (str) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
752 | @return eol string (string) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
753 | """ |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
754 | if self.__project.isOpen() and self.__project.isProjectFile(fn): |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
755 | eol = self.__project.getEolString() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
756 | else: |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
757 | eol = Utilities.linesep() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
758 | return eol |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
759 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
760 | @pyqtSlot() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
761 | def on_startButton_clicked(self): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
762 | """ |
2980
2cb4e3c50b37
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2979
diff
changeset
|
763 | Private slot to start a code style check run. |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
764 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
765 | if self.__forProject: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
766 | data = { |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
767 | "ExcludeFiles": self.excludeFilesEdit.text(), |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
768 | "ExcludeMessages": self.excludeMessagesEdit.text(), |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
769 | "IncludeMessages": self.includeMessagesEdit.text(), |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
770 | "RepeatMessages": self.repeatCheckBox.isChecked(), |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
771 | "FixCodes": self.fixIssuesEdit.text(), |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
772 | "NoFixCodes": self.noFixIssuesEdit.text(), |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
773 | "FixIssues": self.fixIssuesCheckBox.isChecked(), |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
774 | "ShowIgnored": self.ignoredCheckBox.isChecked(), |
2866
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
775 | "MaxLineLength": self.lineLengthSpinBox.value(), |
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
776 | "HangClosing": self.hangClosingCheckBox.isChecked(), |
2928
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
777 | "DocstringType": self.docTypeComboBox.itemData( |
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
778 | self.docTypeComboBox.currentIndex()), |
4423
14f3ca3dcef6
Added a code complexity checker iaw. McCabe to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4278
diff
changeset
|
779 | "MaxCodeComplexity": self.complexitySpinBox.value(), |
5661
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
780 | "LineComplexity": self.lineComplexitySpinBox.value(), |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
781 | "LineComplexityScore": self.lineComplexityScoreSpinBox.value(), |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
782 | "ValidEncodings": self.encodingsEdit.text(), |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
783 | "CopyrightMinFileSize": self.copyrightFileSizeSpinBox.value(), |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
784 | "CopyrightAuthor": self.copyrightAuthorEdit.text(), |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
785 | "FutureChecker": self.__getSelectedFutureImports(), |
5619
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
786 | "BuiltinsChecker": self.__getBuiltinsIgnoreList(), |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
787 | } |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
788 | if data != self.__data: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
789 | self.__data = data |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
790 | self.__project.setData("CHECKERSPARMS", "Pep8Checker", |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
791 | self.__data) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
792 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
793 | self.resultList.clear() |
5290
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
794 | self.results = CodeStyleCheckerDialog.noResults |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
795 | self.cancelled = False |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
796 | self.start(self.__fileOrFileList) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
797 | |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
798 | def __selectCodes(self, edit, showFixCodes): |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
799 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
800 | Private method to select message codes via a selection dialog. |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
801 | |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
802 | @param edit reference of the line edit to be populated (QLineEdit) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
803 | @param showFixCodes flag indicating to show a list of fixable |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
804 | issues (boolean) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
805 | """ |
2972
ae58d4b2562e
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2971
diff
changeset
|
806 | from .CodeStyleCodeSelectionDialog import CodeStyleCodeSelectionDialog |
ae58d4b2562e
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2971
diff
changeset
|
807 | dlg = CodeStyleCodeSelectionDialog(edit.text(), showFixCodes, self) |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
808 | if dlg.exec_() == QDialog.Accepted: |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
809 | edit.setText(dlg.getSelectedCodes()) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
810 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
811 | @pyqtSlot() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
812 | def on_excludeMessagesSelectButton_clicked(self): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
813 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
814 | Private slot to select the message codes to be excluded via a |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
815 | selection dialog. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
816 | """ |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
817 | self.__selectCodes(self.excludeMessagesEdit, False) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
818 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
819 | @pyqtSlot() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
820 | def on_includeMessagesSelectButton_clicked(self): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
821 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
822 | Private slot to select the message codes to be included via a |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
823 | selection dialog. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
824 | """ |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
825 | self.__selectCodes(self.includeMessagesEdit, False) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
826 | |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
827 | @pyqtSlot() |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
828 | def on_fixIssuesSelectButton_clicked(self): |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
829 | """ |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
830 | Private slot to select the issue codes to be fixed via a |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
831 | selection dialog. |
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
832 | """ |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
833 | self.__selectCodes(self.fixIssuesEdit, True) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
834 | |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
835 | @pyqtSlot() |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
836 | def on_noFixIssuesSelectButton_clicked(self): |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
837 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
838 | Private slot to select the issue codes not to be fixed via a |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
839 | selection dialog. |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
840 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
841 | self.__selectCodes(self.noFixIssuesEdit, True) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
842 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
843 | @pyqtSlot(QTreeWidgetItem, int) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
844 | def on_resultList_itemActivated(self, item, column): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
845 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
940
diff
changeset
|
846 | Private slot to handle the activation of an item. |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
847 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
848 | @param item reference to the activated item (QTreeWidgetItem) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
849 | @param column column the item was activated in (integer) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
850 | """ |
5290
174dae2b91c3
Reverted the change to pycodestyle related to E705 and changed the globl constants in CodeStyleCheckerDialog.py to class variables (constants).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5289
diff
changeset
|
851 | if self.results != CodeStyleCheckerDialog.hasResults: |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
852 | return |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
853 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
854 | if item.parent(): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
855 | fn = Utilities.normabspath(item.data(0, self.filenameRole)) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
856 | lineno = item.data(0, self.lineRole) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
857 | position = item.data(0, self.positionRole) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
858 | message = item.data(0, self.messageRole) |
2904
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2902
diff
changeset
|
859 | code = item.data(0, self.codeRole) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
860 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
861 | vm = e5App().getObject("ViewManager") |
2874
0d754c68e1db
Fixed an issue in the PEP-8 dialog caused by the new checker being one off compared to the old one.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2867
diff
changeset
|
862 | vm.openSourceFile(fn, lineno=lineno, pos=position + 1) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
863 | editor = vm.getOpenEditor(fn) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
864 | |
3616 | 865 | if code in ["E901", "E902"]: |
2904
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2902
diff
changeset
|
866 | editor.toggleSyntaxError(lineno, 0, True, message, True) |
1da821da961e
Changed editor code to allow multiple syntax error messages per line and changed PEP-8 dialog to show E901 errors as error instead of warning.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2902
diff
changeset
|
867 | else: |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3046
diff
changeset
|
868 | editor.toggleWarning( |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
869 | lineno, 0, True, message, warningType=editor.WarningStyle) |
4433
7ab862396a8a
Workaround for missing lines at vertical scroll bar caused by annotations.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4423
diff
changeset
|
870 | |
7ab862396a8a
Workaround for missing lines at vertical scroll bar caused by annotations.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4423
diff
changeset
|
871 | editor.updateVerticalScrollBar() |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
872 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
873 | @pyqtSlot() |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
874 | def on_resultList_itemSelectionChanged(self): |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
875 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
876 | Private slot to change the dialog state depending on the selection. |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
877 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
878 | self.fixButton.setEnabled(len(self.__getSelectedFixableItems()) > 0) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
879 | |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
880 | @pyqtSlot() |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
881 | def on_showButton_clicked(self): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
882 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
883 | Private slot to handle the "Show" button press. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
884 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
885 | vm = e5App().getObject("ViewManager") |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
886 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
887 | selectedIndexes = [] |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
888 | for index in range(self.resultList.topLevelItemCount()): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
889 | if self.resultList.topLevelItem(index).isSelected(): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
890 | selectedIndexes.append(index) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
891 | if len(selectedIndexes) == 0: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
892 | selectedIndexes = list(range(self.resultList.topLevelItemCount())) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
893 | for index in selectedIndexes: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
894 | itm = self.resultList.topLevelItem(index) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
895 | fn = Utilities.normabspath(itm.data(0, self.filenameRole)) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
896 | vm.openSourceFile(fn, 1) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
897 | editor = vm.getOpenEditor(fn) |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3046
diff
changeset
|
898 | editor.clearStyleWarnings() |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
899 | for cindex in range(itm.childCount()): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
900 | citm = itm.child(cindex) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
901 | lineno = citm.data(0, self.lineRole) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
902 | message = citm.data(0, self.messageRole) |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3046
diff
changeset
|
903 | editor.toggleWarning( |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3228
diff
changeset
|
904 | lineno, 0, True, message, warningType=editor.WarningStyle) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
905 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
906 | # go through the list again to clear warning markers for files, |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
907 | # that are ok |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
908 | openFiles = vm.getOpenFilenames() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
909 | errorFiles = [] |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
910 | for index in range(self.resultList.topLevelItemCount()): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
911 | itm = self.resultList.topLevelItem(index) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
912 | errorFiles.append( |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
913 | Utilities.normabspath(itm.data(0, self.filenameRole))) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
914 | for file in openFiles: |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3618
diff
changeset
|
915 | if file not in errorFiles: |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
916 | editor = vm.getOpenEditor(file) |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3046
diff
changeset
|
917 | editor.clearStyleWarnings() |
4433
7ab862396a8a
Workaround for missing lines at vertical scroll bar caused by annotations.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4423
diff
changeset
|
918 | |
7ab862396a8a
Workaround for missing lines at vertical scroll bar caused by annotations.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4423
diff
changeset
|
919 | editor = vm.activeWindow() |
7ab862396a8a
Workaround for missing lines at vertical scroll bar caused by annotations.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
4423
diff
changeset
|
920 | editor.updateVerticalScrollBar() |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
921 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
922 | @pyqtSlot() |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
923 | def on_statisticsButton_clicked(self): |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
924 | """ |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
925 | Private slot to show the statistics dialog. |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
926 | """ |
2972
ae58d4b2562e
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2971
diff
changeset
|
927 | from .CodeStyleStatisticsDialog import CodeStyleStatisticsDialog |
ae58d4b2562e
Continued changing the names of the various code style checkers to make them more appropriate to the broadened scope.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2971
diff
changeset
|
928 | dlg = CodeStyleStatisticsDialog(self.__statistics, self) |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
929 | dlg.exec_() |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
930 | |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
931 | @pyqtSlot() |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
932 | def on_loadDefaultButton_clicked(self): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
933 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
934 | Private slot to load the default configuration values. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
935 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
936 | self.excludeFilesEdit.setText(Preferences.Prefs.settings.value( |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
937 | "PEP8/ExcludeFilePatterns", "")) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
938 | self.excludeMessagesEdit.setText(Preferences.Prefs.settings.value( |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
939 | "PEP8/ExcludeMessages", pycodestyle.DEFAULT_IGNORE)) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
940 | self.includeMessagesEdit.setText(Preferences.Prefs.settings.value( |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
941 | "PEP8/IncludeMessages", "")) |
2878
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
942 | self.repeatCheckBox.setChecked(Preferences.toBool( |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
943 | Preferences.Prefs.settings.value("PEP8/RepeatMessages", False))) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
944 | self.fixIssuesEdit.setText(Preferences.Prefs.settings.value( |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
945 | "PEP8/FixCodes", "")) |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
946 | self.noFixIssuesEdit.setText(Preferences.Prefs.settings.value( |
2878
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
947 | "PEP8/NoFixCodes", "E501")) |
849
996367a89673
Started to implement a fixer for PEP 8 issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
847
diff
changeset
|
948 | self.fixIssuesCheckBox.setChecked(Preferences.toBool( |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
949 | Preferences.Prefs.settings.value("PEP8/FixIssues", False))) |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
950 | self.ignoredCheckBox.setChecked(Preferences.toBool( |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
951 | Preferences.Prefs.settings.value("PEP8/ShowIgnored", False))) |
2866
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
952 | self.lineLengthSpinBox.setValue(int(Preferences.Prefs.settings.value( |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
953 | "PEP8/MaxLineLength", pycodestyle.MAX_LINE_LENGTH))) |
2866
c77e08c38a5c
Extended the PEP-8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2864
diff
changeset
|
954 | self.hangClosingCheckBox.setChecked(Preferences.toBool( |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
955 | Preferences.Prefs.settings.value("PEP8/HangClosing", False))) |
2928
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
956 | self.docTypeComboBox.setCurrentIndex(self.docTypeComboBox.findData( |
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
957 | Preferences.Prefs.settings.value("PEP8/DocstringType", "pep257"))) |
4423
14f3ca3dcef6
Added a code complexity checker iaw. McCabe to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4278
diff
changeset
|
958 | self.complexitySpinBox.setValue(int(Preferences.Prefs.settings.value( |
14f3ca3dcef6
Added a code complexity checker iaw. McCabe to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4278
diff
changeset
|
959 | "PEP8/MaxCodeComplexity", 10))) |
5661
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
960 | self.lineComplexitySpinBox.setValue( |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
961 | int(Preferences.Prefs.settings.value( |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
962 | "PEP8/LineComplexity", 15))) |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
963 | self.lineComplexityScoreSpinBox.setValue( |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
964 | int(Preferences.Prefs.settings.value( |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
965 | "PEP8/LineComplexityScore", 10))) |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
966 | self.encodingsEdit.setText(Preferences.Prefs.settings.value( |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
967 | "PEP8/ValidEncodings", "latin-1, utf-8")) |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
968 | self.copyrightFileSizeSpinBox.setValue(int( |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
969 | Preferences.Prefs.settings.value("PEP8/CopyrightMinFileSize", 0))) |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
970 | self.copyrightAuthorEdit.setText( |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
971 | Preferences.Prefs.settings.value("PEP8/CopyrightAuthor", "")) |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
972 | self.__initFuturesList( |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
973 | Preferences.Prefs.settings.value("PEP8/FutureChecker", "")) |
5619
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
974 | self.__initBuiltinsIgnoreList(Preferences.toDict( |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
975 | Preferences.Prefs.settings.value("PEP8/BuiltinsChecker", { |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
976 | "str": ["unicode", ], |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
977 | "chr": ["unichr", ], |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
978 | }))) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
979 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
980 | @pyqtSlot() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
981 | def on_storeDefaultButton_clicked(self): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
982 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
983 | Private slot to store the current configuration values as |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
984 | default values. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
985 | """ |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
986 | Preferences.Prefs.settings.setValue( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
987 | "PEP8/ExcludeFilePatterns", self.excludeFilesEdit.text()) |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
988 | Preferences.Prefs.settings.setValue( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
989 | "PEP8/ExcludeMessages", self.excludeMessagesEdit.text()) |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
990 | Preferences.Prefs.settings.setValue( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
991 | "PEP8/IncludeMessages", self.includeMessagesEdit.text()) |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
992 | Preferences.Prefs.settings.setValue( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
993 | "PEP8/RepeatMessages", self.repeatCheckBox.isChecked()) |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
994 | Preferences.Prefs.settings.setValue( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
995 | "PEP8/FixCodes", self.fixIssuesEdit.text()) |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
996 | Preferences.Prefs.settings.setValue( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
997 | "PEP8/NoFixCodes", self.noFixIssuesEdit.text()) |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
998 | Preferences.Prefs.settings.setValue( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
999 | "PEP8/FixIssues", self.fixIssuesCheckBox.isChecked()) |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
1000 | Preferences.Prefs.settings.setValue( |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
1001 | "PEP8/ShowIgnored", self.ignoredCheckBox.isChecked()) |
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
1002 | Preferences.Prefs.settings.setValue( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
1003 | "PEP8/MaxLineLength", self.lineLengthSpinBox.value()) |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
1004 | Preferences.Prefs.settings.setValue( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
1005 | "PEP8/HangClosing", self.hangClosingCheckBox.isChecked()) |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
1006 | Preferences.Prefs.settings.setValue( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
1007 | "PEP8/DocstringType", self.docTypeComboBox.itemData( |
2928
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
1008 | self.docTypeComboBox.currentIndex())) |
4423
14f3ca3dcef6
Added a code complexity checker iaw. McCabe to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4278
diff
changeset
|
1009 | Preferences.Prefs.settings.setValue( |
14f3ca3dcef6
Added a code complexity checker iaw. McCabe to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4278
diff
changeset
|
1010 | "PEP8/MaxCodeComplexity", self.complexitySpinBox.value()) |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
1011 | Preferences.Prefs.settings.setValue( |
5661
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
1012 | "PEP8/LineComplexity", self.lineComplexitySpinBox.value()) |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
1013 | Preferences.Prefs.settings.setValue( |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
1014 | "PEP8/LineComplexityScore", |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
1015 | self.lineComplexityScoreSpinBox.value()) |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
1016 | Preferences.Prefs.settings.setValue( |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
1017 | "PEP8/ValidEncodings", self.encodingsEdit.text()) |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
1018 | Preferences.Prefs.settings.setValue( |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
1019 | "PEP8/CopyrightMinFileSize", self.copyrightFileSizeSpinBox.value()) |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
1020 | Preferences.Prefs.settings.setValue( |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
1021 | "PEP8/CopyrightAuthor", self.copyrightAuthorEdit.text()) |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1022 | Preferences.Prefs.settings.setValue( |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1023 | "PEP8/FutureChecker", self.__getSelectedFutureImports()) |
5619
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1024 | Preferences.Prefs.settings.setValue( |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1025 | "PEP8/BuiltinsChecker", self.__getBuiltinsIgnoreList()) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1026 | |
2878
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1027 | @pyqtSlot() |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1028 | def on_resetDefaultButton_clicked(self): |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1029 | """ |
2928
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
1030 | Private slot to reset the configuration values to their default values. |
2878
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1031 | """ |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1032 | Preferences.Prefs.settings.setValue("PEP8/ExcludeFilePatterns", "") |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
1033 | Preferences.Prefs.settings.setValue( |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
1034 | "PEP8/ExcludeMessages", pycodestyle.DEFAULT_IGNORE) |
2878
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1035 | Preferences.Prefs.settings.setValue("PEP8/IncludeMessages", "") |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1036 | Preferences.Prefs.settings.setValue("PEP8/RepeatMessages", False) |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1037 | Preferences.Prefs.settings.setValue("PEP8/FixCodes", "") |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1038 | Preferences.Prefs.settings.setValue("PEP8/NoFixCodes", "E501") |
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1039 | Preferences.Prefs.settings.setValue("PEP8/FixIssues", False) |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
1040 | Preferences.Prefs.settings.setValue("PEP8/ShowIgnored", False) |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3004
diff
changeset
|
1041 | Preferences.Prefs.settings.setValue( |
5147
d39dd5cee0c8
Renamed pep8.py to pycodestyle.py in order to track the upstream renaming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
1042 | "PEP8/MaxLineLength", pycodestyle.MAX_LINE_LENGTH) |
2878
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1043 | Preferences.Prefs.settings.setValue("PEP8/HangClosing", False) |
2928
4f74d3f595ce
Started enhancing the docstring checker to include the eric docstring style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2920
diff
changeset
|
1044 | Preferences.Prefs.settings.setValue("PEP8/DocstringType", "pep257") |
4423
14f3ca3dcef6
Added a code complexity checker iaw. McCabe to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4278
diff
changeset
|
1045 | Preferences.Prefs.settings.setValue("PEP8/MaxCodeComplexity", 10) |
5661
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
1046 | Preferences.Prefs.settings.setValue("PEP8/LineComplexity", 15) |
ae4f5cdc3d00
Added a line complexity checker to the code style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5636
diff
changeset
|
1047 | Preferences.Prefs.settings.setValue("PEP8/LineComplexityScore", 10) |
4506
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
1048 | Preferences.Prefs.settings.setValue( |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
1049 | "PEP8/ValidEncodings", "latin-1, utf-8") |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
1050 | Preferences.Prefs.settings.setValue("PEP8/CopyrightMinFileSize", 0) |
57666e501a42
Started to add more code style checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4503
diff
changeset
|
1051 | Preferences.Prefs.settings.setValue("PEP8/CopyrightAuthor", "") |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1052 | Preferences.Prefs.settings.setValue("PEP8/FutureChecker", "") |
5619
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1053 | Preferences.Prefs.settings.setValue("PEP8/BuiltinsChecker", { |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1054 | "str": ["unicode", ], |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1055 | "chr": ["unichr", ], |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1056 | }) |
2878
61042247f793
Added a button to the PEP-8 dialog to reset the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2876
diff
changeset
|
1057 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1058 | @pyqtSlot(QAbstractButton) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1059 | def on_buttonBox_clicked(self, button): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1060 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1061 | Private slot called by a button of the button box clicked. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1062 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1063 | @param button button that was clicked (QAbstractButton) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1064 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1065 | if button == self.buttonBox.button(QDialogButtonBox.Close): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1066 | self.close() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1067 | elif button == self.buttonBox.button(QDialogButtonBox.Cancel): |
4221
c9fdc07753a7
Implemented the Cancel logic for batch checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
1068 | if self.__batch: |
c9fdc07753a7
Implemented the Cancel logic for batch checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
1069 | self.styleCheckService.cancelStyleBatchCheck() |
4235
81278aff6af9
Fixed an issue in the batch checker cancel function leading to the function not working if the background jobs had finished already.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4221
diff
changeset
|
1070 | QTimer.singleShot(1000, self.__finish) |
4221
c9fdc07753a7
Implemented the Cancel logic for batch checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
1071 | else: |
c9fdc07753a7
Implemented the Cancel logic for batch checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
1072 | self.__finish() |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1073 | elif button == self.showButton: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1074 | self.on_showButton_clicked() |
847
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
1075 | elif button == self.statisticsButton: |
cc18fbcde9fc
Added a dialog to show some statistics for the last PEP 8 check to the PEP 8 dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
843
diff
changeset
|
1076 | self.on_statisticsButton_clicked() |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1077 | |
3175
1a6638ccce9d
Fixed an issue in the syntax and code style checker dialogs causing markers of open files not to be checked being cleared.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1078 | def __clearErrors(self, files): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1079 | """ |
3175
1a6638ccce9d
Fixed an issue in the syntax and code style checker dialogs causing markers of open files not to be checked being cleared.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1080 | Private method to clear all warning markers of open editors to be |
1a6638ccce9d
Fixed an issue in the syntax and code style checker dialogs causing markers of open files not to be checked being cleared.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1081 | checked. |
1a6638ccce9d
Fixed an issue in the syntax and code style checker dialogs causing markers of open files not to be checked being cleared.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1082 | |
1a6638ccce9d
Fixed an issue in the syntax and code style checker dialogs causing markers of open files not to be checked being cleared.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1083 | @param files list of files to be checked (list of string) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1084 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1085 | vm = e5App().getObject("ViewManager") |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1086 | openFiles = vm.getOpenFilenames() |
3175
1a6638ccce9d
Fixed an issue in the syntax and code style checker dialogs causing markers of open files not to be checked being cleared.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
1087 | for file in [f for f in openFiles if f in files]: |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1088 | editor = vm.getOpenEditor(file) |
3062
9de9373da5bb
Extended the editor warning messages handling and refactored the names of warning handling methods to reflect their more general use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3046
diff
changeset
|
1089 | editor.clearStyleWarnings() |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1090 | |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1091 | @pyqtSlot() |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1092 | def on_fixButton_clicked(self): |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1093 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1094 | Private slot to fix selected issues. |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1095 | |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1096 | Build a dictionary of issues to fix. Update the initialized __options. |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1097 | Then call check with the dict as keyparam to fix selected issues. |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1098 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1099 | fixableItems = self.__getSelectedFixableItems() |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1100 | # dictionary of lists of tuples containing the issue and the item |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1101 | fixesDict = {} |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1102 | for itm in fixableItems: |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1103 | filename = itm.data(0, self.filenameRole) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1104 | if filename not in fixesDict: |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1105 | fixesDict[filename] = [] |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1106 | fixesDict[filename].append(( |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1107 | (filename, itm.data(0, self.lineRole), |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1108 | itm.data(0, self.positionRole), |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3022
diff
changeset
|
1109 | "{0} {1}".format(itm.data(0, self.codeRole), |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1110 | itm.data(0, self.messageRole))), |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1111 | itm |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1112 | )) |
3746
0c1d19eb0ac6
Wrong behavior if more than one file for code style fixes selected fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3656
diff
changeset
|
1113 | |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1114 | # update the configuration values (3: fixCodes, 4: noFixCodes, |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1115 | # 5: fixIssues, 6: maxLineLength) |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1116 | self.__options[3] = self.fixIssuesEdit.text() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1117 | self.__options[4] = self.noFixIssuesEdit.text() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1118 | self.__options[5] = True |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1119 | self.__options[6] = self.lineLengthSpinBox.value() |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1120 | |
3228
f489068e51e8
Bugfixes to work under Python3 and unicode issues for Python2 fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3209
diff
changeset
|
1121 | self.files = list(fixesDict.keys()) |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1122 | # now go through all the files |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1123 | self.progress = 0 |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1124 | self.files.sort() |
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1125 | self.cancelled = False |
3746
0c1d19eb0ac6
Wrong behavior if more than one file for code style fixes selected fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3656
diff
changeset
|
1126 | self.__onlyFixes = fixesDict |
0c1d19eb0ac6
Wrong behavior if more than one file for code style fixes selected fixed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3656
diff
changeset
|
1127 | self.check() |
3209
c5432abceb25
CodeStyleChecker moved to background service and done a little cleanup.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
1128 | |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1129 | def __getSelectedFixableItems(self): |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1130 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1131 | Private method to extract all selected items for fixable issues. |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1132 | |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1133 | @return selected items for fixable issues (list of QTreeWidgetItem) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1134 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1135 | fixableItems = [] |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1136 | for itm in self.resultList.selectedItems(): |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1137 | if itm.childCount() > 0: |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1138 | for index in range(itm.childCount()): |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1139 | citm = itm.child(index) |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3618
diff
changeset
|
1140 | if self.__itemFixable(citm) and citm not in fixableItems: |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1141 | fixableItems.append(citm) |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3618
diff
changeset
|
1142 | elif self.__itemFixable(itm) and itm not in fixableItems: |
2876
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1143 | fixableItems.append(itm) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1144 | |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1145 | return fixableItems |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1146 | |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1147 | def __itemFixable(self, itm): |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1148 | """ |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1149 | Private method to check, if an item has a fixable issue. |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1150 | |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1151 | @param itm item to be checked (QTreeWidgetItem) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1152 | @return flag indicating a fixable issue (boolean) |
bfa39cf40277
Extended the PEP-8 dialog to select fixable issues manually (i.e. fix only the selected issues).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2874
diff
changeset
|
1153 | """ |
3489
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
1154 | return (itm.data(0, self.fixableRole) and |
9c5af34205c9
Improved the code style checker to show statistics about ignored issues and to show ignored issues in the result list.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
1155 | not itm.data(0, self.ignoredRole)) |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1156 | |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1157 | def __initFuturesList(self, selectedFutures): |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1158 | """ |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1159 | Private method to set the selected status of the future imports. |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1160 | |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1161 | @param selectedFutures comma separated list of expected future imports |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1162 | @type str |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1163 | """ |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1164 | if selectedFutures: |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1165 | expectedImports = [ |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1166 | i.strip() for i in selectedFutures.split(",") |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1167 | if bool(i.strip())] |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1168 | else: |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1169 | expectedImports = [] |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1170 | for row in range(self.futuresList.count()): |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1171 | itm = self.futuresList.item(row) |
5636
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
1172 | if itm.text() in expectedImports: |
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
1173 | itm.setCheckState(Qt.Checked) |
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
1174 | else: |
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
1175 | itm.setCheckState(Qt.Unchecked) |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1176 | |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1177 | def __getSelectedFutureImports(self): |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1178 | """ |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1179 | Private method to get the expected future imports. |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1180 | |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1181 | @return expected future imports as a comma separated string |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1182 | @rtype str |
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1183 | """ |
5636
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
1184 | selectedFutures = [] |
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
1185 | for row in range(self.futuresList.count()): |
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
1186 | itm = self.futuresList.item(row) |
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
1187 | if itm.checkState() == Qt.Checked: |
709a306baa81
Changed some lists of the style checker to contain checkable items.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5625
diff
changeset
|
1188 | selectedFutures.append(itm.text()) |
4509
7797ee4a45f9
Redid the future imports checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4506
diff
changeset
|
1189 | return ", ".join(selectedFutures) |
5619
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1190 | |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1191 | def __initBuiltinsIgnoreList(self, builtinsIgnoreDict): |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1192 | """ |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1193 | Private method to populate the list of shadowed builtins to be ignored. |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1194 | |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1195 | @param builtinsIgnoreDict dictionary containing the builtins |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1196 | assignments to be ignored |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1197 | @type dict of list of str |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1198 | """ |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1199 | self.builtinsAssignmentList.clear() |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1200 | for left, rightList in builtinsIgnoreDict.items(): |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1201 | for right in rightList: |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1202 | QTreeWidgetItem(self.builtinsAssignmentList, [left, right]) |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1203 | |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1204 | self.on_builtinsAssignmentList_itemSelectionChanged() |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1205 | |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1206 | def __getBuiltinsIgnoreList(self): |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1207 | """ |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1208 | Private method to get a dictionary containing the builtins assignments |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1209 | to be ignored. |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1210 | |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1211 | @return dictionary containing the builtins assignments to be ignored |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1212 | @rtype dict of list of str |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1213 | """ |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1214 | builtinsIgnoreDict = {} |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1215 | for row in range(self.builtinsAssignmentList.topLevelItemCount()): |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1216 | itm = self.builtinsAssignmentList.topLevelItem(row) |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1217 | left, right = itm.text(0), itm.text(1) |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1218 | if left not in builtinsIgnoreDict: |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1219 | builtinsIgnoreDict[left] = [] |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1220 | builtinsIgnoreDict[left].append(right) |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1221 | |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1222 | return builtinsIgnoreDict |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1223 | |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1224 | @pyqtSlot() |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1225 | def on_builtinsAssignmentList_itemSelectionChanged(self): |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1226 | """ |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1227 | Private slot to react upon changes of the selected builtin assignments. |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1228 | """ |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1229 | self.deleteBuiltinButton.setEnabled( |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1230 | len(self.builtinsAssignmentList.selectedItems()) > 0) |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1231 | |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1232 | @pyqtSlot() |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1233 | def on_addBuiltinButton_clicked(self): |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1234 | """ |
5621
80cce672d505
Added a checker for using mutable types as default functiona rgument (M821).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5619
diff
changeset
|
1235 | Private slot to add a built-in assignment to be ignored. |
5619
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1236 | """ |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1237 | from .CodeStyleAddBuiltinIgnoreDialog import \ |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1238 | CodeStyleAddBuiltinIgnoreDialog |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1239 | dlg = CodeStyleAddBuiltinIgnoreDialog(self) |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1240 | if dlg.exec_() == QDialog.Accepted: |
5621
80cce672d505
Added a checker for using mutable types as default functiona rgument (M821).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5619
diff
changeset
|
1241 | left, right = dlg.getData() |
5619
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1242 | QTreeWidgetItem(self.builtinsAssignmentList, [left, right]) |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1243 | |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1244 | @pyqtSlot() |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1245 | def on_deleteBuiltinButton_clicked(self): |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1246 | """ |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1247 | Private slot to delete the selected items from the list. |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1248 | """ |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1249 | for itm in self.builtinsAssignmentList.selectedItems(): |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1250 | index = self.builtinsAssignmentList.indexOfTopLevelItem(itm) |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1251 | self.builtinsAssignmentList.takeTopLevelItem(index) |
ab999dc48132
Made the built-ins checker configurable.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5597
diff
changeset
|
1252 | del itm |