Mon, 08 Jun 2020 20:08:27 +0200
Code Style Checker: continued to implement checker for security related issues.
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 | |
7360
9190402e4505
Updated copyright for 2020.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7256
diff
changeset
|
3 | # Copyright (c) 2011 - 2020 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:
2973
diff
changeset
|
7 | Module implementing the code style checker plug-in. |
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 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import os |
7613
382f89c11e27
Code Style Checker: continued to implement checker for security related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7610
diff
changeset
|
11 | import textwrap |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3621
diff
changeset
|
13 | from PyQt5.QtCore import QObject, pyqtSignal, QCoreApplication |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | from E5Gui.E5Application import e5App |
3450
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
16 | from E5Gui.E5Action import E5Action |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
17 | from Project.ProjectBrowserModel import ProjectBrowserFileItem |
3515 | 18 | from Utilities import determinePythonVersion |
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 | import Preferences |
5316
31cbc97d4974
Got rid of the manually set version numbers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
21 | import UI.Info |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | # Start-Of-Header |
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:
2973
diff
changeset
|
24 | name = "Code Style Checker Plugin" |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | author = "Detlev Offenbach <detlev@die-offenbachs.de>" |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | autoactivate = True |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | deactivateable = True |
5316
31cbc97d4974
Got rid of the manually set version numbers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
28 | version = UI.Info.VersionOnly |
2982
556adfe76ba7
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:
2980
diff
changeset
|
29 | className = "CodeStyleCheckerPlugin" |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | packageName = "__core__" |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
31 | shortDescription = "Show the Python Code Style Checker dialog." |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
32 | longDescription = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
33 | """This plugin implements the Python Code Style""" |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
34 | """ Checker dialog. A PEP-8 checker is used to check Python source""" |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
35 | """ files for compliance to the code style conventions given in PEP-8.""" |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
36 | """ A PEP-257 checker is used to check Python source files for""" |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
37 | """ compliance to docstring conventions given in PEP-257 and an""" |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
38 | """ eric6 variant is used to check against eric conventions.""" |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
39 | ) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | pyqtApi = 2 |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | # End-Of-Header |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
43 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | error = "" |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
46 | |
2982
556adfe76ba7
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:
2980
diff
changeset
|
47 | class CodeStyleCheckerPlugin(QObject): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | """ |
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:
2973
diff
changeset
|
49 | Class implementing the code style checker plug-in. |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
50 | |
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:
4021
diff
changeset
|
51 | @signal styleChecked(str, dict, int, list) emitted when the style check was |
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:
4021
diff
changeset
|
52 | done for a file. |
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:
4021
diff
changeset
|
53 | @signal batchFinished() emitted when a style check batch is done |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4235
diff
changeset
|
54 | @signal error(str, str) emitted in case of an error |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | """ |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
56 | styleChecked = pyqtSignal(str, dict, int, list) |
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:
4021
diff
changeset
|
57 | batchFinished = pyqtSignal() |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4235
diff
changeset
|
58 | error = pyqtSignal(str, str) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
59 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | def __init__(self, ui): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | Constructor |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | @param ui reference to the user interface object (UI.UserInterface) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | """ |
3057
10516539f238
Merge with default branch after shorten the code lines to max. 79 characters.
T.Rzepka <Tobias.Rzepka@gmail.com>
diff
changeset
|
66 | super(CodeStyleCheckerPlugin, self).__init__(ui) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | self.__ui = ui |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | self.__initialize() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
70 | self.backgroundService = e5App().getObject("BackgroundService") |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
71 | |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
72 | path = os.path.join( |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
73 | os.path.dirname(__file__), 'CheckerPlugins', 'CodeStyleChecker') |
3558
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
74 | self.backgroundService.serviceConnect( |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
75 | 'style', 'Python2', path, 'CodeStyleChecker', |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
76 | self.__translateStyleCheck, |
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:
4021
diff
changeset
|
77 | onErrorCallback=self.serviceErrorPy2, |
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:
4021
diff
changeset
|
78 | onBatchDone=self.batchJobDone) |
3558
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
79 | self.backgroundService.serviceConnect( |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
80 | 'style', 'Python3', path, 'CodeStyleChecker', |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
81 | self.__translateStyleCheck, |
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:
4021
diff
changeset
|
82 | onErrorCallback=self.serviceErrorPy3, |
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:
4021
diff
changeset
|
83 | onBatchDone=self.batchJobDone) |
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:
4021
diff
changeset
|
84 | |
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:
4021
diff
changeset
|
85 | self.queuedBatches = [] |
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:
4021
diff
changeset
|
86 | self.batchesFinished = True |
7613
382f89c11e27
Code Style Checker: continued to implement checker for security related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7610
diff
changeset
|
87 | |
382f89c11e27
Code Style Checker: continued to implement checker for security related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7610
diff
changeset
|
88 | self.__wrapper = textwrap.TextWrapper(width=80) |
3558
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
89 | |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
90 | def __serviceError(self, fn, msg): |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
91 | """ |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
92 | Private slot handling service errors. |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
93 | |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
94 | @param fn file name (string) |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
95 | @param msg message text (string) |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
96 | """ |
4503
d68dcbe1deb3
Improved the syntax checker, code style checker and indentation checker interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4235
diff
changeset
|
97 | self.error.emit(fn, msg) |
3558
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
98 | |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
99 | def serviceErrorPy2(self, fx, lang, fn, msg): |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
100 | """ |
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:
4021
diff
changeset
|
101 | Public slot handling service errors for Python 2. |
3558
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
102 | |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
103 | @param fx service name (string) |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
104 | @param lang language (string) |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
105 | @param fn file name (string) |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
106 | @param msg message text (string) |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
107 | """ |
4219
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
108 | if fx in ['style', 'batch_style'] and lang == 'Python2': |
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
109 | if fx == 'style': |
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
110 | self.__serviceError(fn, msg) |
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
111 | else: |
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
112 | self.__serviceError(self.tr("Python 2 batch check"), msg) |
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
113 | self.batchJobDone(fx, lang) |
3558
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
114 | |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
115 | def serviceErrorPy3(self, fx, lang, fn, msg): |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
116 | """ |
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:
4021
diff
changeset
|
117 | Public slot handling service errors for Python 2. |
3558
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
118 | |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
119 | @param fx service name (string) |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
120 | @param lang language (string) |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
121 | @param fn file name (string) |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
122 | @param msg message text (string) |
7f2bc8910d28
Fixed issues in the various checkers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3523
diff
changeset
|
123 | """ |
4219
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
124 | if fx in ['style', 'batch_style'] and lang == 'Python3': |
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
125 | if fx == 'style': |
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
126 | self.__serviceError(fn, msg) |
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
127 | else: |
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
128 | self.__serviceError(self.tr("Python 3 batch check"), msg) |
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
129 | self.batchJobDone(fx, lang) |
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:
4021
diff
changeset
|
130 | |
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:
4021
diff
changeset
|
131 | def batchJobDone(self, fx, lang): |
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:
4021
diff
changeset
|
132 | """ |
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:
4021
diff
changeset
|
133 | Public 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:
4021
diff
changeset
|
134 | |
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:
4021
diff
changeset
|
135 | @param fx service name (string) |
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:
4021
diff
changeset
|
136 | @param lang language (string) |
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:
4021
diff
changeset
|
137 | """ |
4219
a6ee92e1f023
Fixed a bug causing am invalid end of a batch check, if a Python interprter kind is not configured.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4218
diff
changeset
|
138 | if fx in ['style', 'batch_style']: |
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:
4021
diff
changeset
|
139 | if lang in self.queuedBatches: |
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:
4021
diff
changeset
|
140 | self.queuedBatches.remove(lang) |
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:
4021
diff
changeset
|
141 | # prevent sending the signal multiple times |
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:
4021
diff
changeset
|
142 | if len(self.queuedBatches) == 0 and not self.batchesFinished: |
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:
4021
diff
changeset
|
143 | self.batchFinished.emit() |
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:
4021
diff
changeset
|
144 | self.batchesFinished = 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:
4021
diff
changeset
|
145 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | def __initialize(self): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | Private slot to (re)initialize the plugin. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | self.__projectAct = None |
2982
556adfe76ba7
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:
2980
diff
changeset
|
151 | self.__projectCodeStyleCheckerDialog = None |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | self.__projectBrowserAct = None |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | self.__projectBrowserMenu = None |
2982
556adfe76ba7
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:
2980
diff
changeset
|
155 | self.__projectBrowserCodeStyleCheckerDialog = None |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
157 | self.__editors = [] |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
158 | self.__editorAct = None |
2982
556adfe76ba7
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:
2980
diff
changeset
|
159 | self.__editorCodeStyleCheckerDialog = None |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
161 | def styleCheck(self, lang, filename, source, args): |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
162 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3558
diff
changeset
|
163 | Public method to prepare a style check on one Python source file. |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
164 | |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
165 | @param lang language of the file or None to determine by internal |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
166 | algorithm |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
167 | @type str or None |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
168 | @param filename source filename |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
169 | @type str |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
170 | @param source string containing the code to check |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
171 | @type str |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
172 | @param args arguments used by the codeStyleCheck function (list of |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
173 | excludeMessages, includeMessages, repeatMessages, fixCodes, |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
174 | noFixCodes, fixIssues, maxLineLength, blankLines, hangClosing, |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
175 | docType, codeComplexityArgs, miscellaneousArgs, errors, eol, |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
176 | encoding, backup) |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
177 | @type list of (str, str, bool, str, str, bool, int, list of (int, int), |
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
178 | bool, str, dict, dict, list of str, str, str, bool) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
179 | """ |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
180 | if lang is None: |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
181 | lang = 'Python{0}'.format(determinePythonVersion(filename, source)) |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
182 | if lang not in ['Python2', 'Python3']: |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
183 | return |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
184 | |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
185 | data = [source, args] |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
186 | self.backgroundService.enqueueRequest('style', lang, filename, data) |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
187 | |
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:
4021
diff
changeset
|
188 | def styleBatchCheck(self, 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:
4021
diff
changeset
|
189 | """ |
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:
4021
diff
changeset
|
190 | Public method to prepare a style check on multiple Python source 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:
4021
diff
changeset
|
191 | |
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:
4021
diff
changeset
|
192 | @param argumentsList list of arguments tuples with each tuple |
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:
4021
diff
changeset
|
193 | containing filename, source and args as given in styleCheck() |
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:
4021
diff
changeset
|
194 | method |
6264
04a671fa4adb
code style checker: extended the dialog to be able to define the number of blank lines before class and function/method definitions
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
195 | @type list of tuple of (str, str, list) |
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:
4021
diff
changeset
|
196 | """ |
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:
4021
diff
changeset
|
197 | data = { |
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:
4021
diff
changeset
|
198 | "Python2": [], |
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:
4021
diff
changeset
|
199 | "Python3": [], |
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:
4021
diff
changeset
|
200 | } |
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:
4021
diff
changeset
|
201 | for filename, source, args in 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:
4021
diff
changeset
|
202 | lang = 'Python{0}'.format(determinePythonVersion(filename, source)) |
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:
4021
diff
changeset
|
203 | if lang not in ['Python2', 'Python3']: |
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:
4021
diff
changeset
|
204 | 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:
4021
diff
changeset
|
205 | 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:
4021
diff
changeset
|
206 | data[lang].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:
4021
diff
changeset
|
207 | |
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:
4021
diff
changeset
|
208 | self.queuedBatches = [] |
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:
4021
diff
changeset
|
209 | for lang in ['Python2', 'Python3']: |
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:
4021
diff
changeset
|
210 | if data[lang]: |
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:
4021
diff
changeset
|
211 | self.queuedBatches.append(lang) |
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:
4021
diff
changeset
|
212 | self.backgroundService.enqueueRequest('batch_style', lang, "", |
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:
4021
diff
changeset
|
213 | data[lang]) |
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:
4021
diff
changeset
|
214 | self.batchesFinished = 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:
4021
diff
changeset
|
215 | |
4221
c9fdc07753a7
Implemented the Cancel logic for batch checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4219
diff
changeset
|
216 | def cancelStyleBatchCheck(self): |
c9fdc07753a7
Implemented the Cancel logic for batch checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4219
diff
changeset
|
217 | """ |
c9fdc07753a7
Implemented the Cancel logic for batch checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4219
diff
changeset
|
218 | Public method to cancel all batch jobs. |
c9fdc07753a7
Implemented the Cancel logic for batch checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4219
diff
changeset
|
219 | """ |
c9fdc07753a7
Implemented the Cancel logic for batch checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4219
diff
changeset
|
220 | for lang in ['Python2', 'Python3']: |
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
|
221 | self.backgroundService.requestCancel('batch_style', lang) |
4221
c9fdc07753a7
Implemented the Cancel logic for batch checks.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4219
diff
changeset
|
222 | |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
223 | def __translateStyleCheck(self, fn, codeStyleCheckerStats, results): |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
224 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3558
diff
changeset
|
225 | Private slot called after perfoming a style check on one file. |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
226 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
227 | @param fn filename of the just checked file |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
228 | @type str |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
229 | @param codeStyleCheckerStats stats of style and name check |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
230 | @type dict |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
231 | @param results dictionary containing the check result data |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
232 | (see CodesStyleChecker.__checkCodeStyle for details) |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
233 | @type dict |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
234 | """ |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
235 | from CheckerPlugins.CodeStyleChecker.translations import ( |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
236 | getTranslatedMessage |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
237 | ) |
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:
4021
diff
changeset
|
238 | |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
239 | fixes = 0 |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
240 | for result in results: |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
241 | msg = getTranslatedMessage(result["code"], result["args"]) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
242 | |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
243 | if result["fixcode"]: |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
244 | fixes += 1 |
7610
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
245 | trFixedMsg = getTranslatedMessage(result["fixcode"], |
df7025fe26a3
Code Style Checker: reworked the API between frontend and backend to get some more flexibility for the future.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
246 | result["fixargs"]) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
247 | |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3621
diff
changeset
|
248 | msg += "\n" + QCoreApplication.translate( |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
249 | 'CodeStyleCheckerDialog', "Fix: {0}").format(trFixedMsg) |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
250 | |
7613
382f89c11e27
Code Style Checker: continued to implement checker for security related issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7610
diff
changeset
|
251 | result["display"] = "\n".join(self.__wrapper.wrap(msg)) |
3413
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
252 | self.styleChecked.emit(fn, codeStyleCheckerStats, fixes, results) |
5e63f809732a
Code style checker: Translations extracted and refactored.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3145
diff
changeset
|
253 | |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | def activate(self): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
255 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | Public method to activate this plugin. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
258 | @return tuple of None and activation status (boolean) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
259 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | menu = e5App().getObject("Project").getMenu("Checks") |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | if menu: |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
262 | self.__projectAct = E5Action( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
263 | self.tr('Check Code Style'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
264 | self.tr('&Code Style...'), 0, 0, |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
265 | self, 'project_check_pep8') |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | self.__projectAct.setStatusTip( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
267 | self.tr('Check code style.')) |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
268 | self.__projectAct.setWhatsThis(self.tr( |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
269 | """<b>Check Code Style...</b>""" |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | """<p>This checks Python files for compliance to the""" |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
271 | """ code style conventions given in various PEPs.</p>""" |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | )) |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
273 | self.__projectAct.triggered.connect( |
3004
c4bf32c791d0
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2982
diff
changeset
|
274 | self.__projectCodeStyleCheck) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | e5App().getObject("Project").addE5Actions([self.__projectAct]) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | menu.addAction(self.__projectAct) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
278 | self.__editorAct = E5Action( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
279 | self.tr('Check Code Style'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
280 | self.tr('&Code Style...'), 0, 0, |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
281 | self, "") |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
282 | self.__editorAct.setWhatsThis(self.tr( |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
283 | """<b>Check Code Style...</b>""" |
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
284 | """<p>This checks Python files for compliance to the""" |
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
285 | """ code style conventions given in various PEPs.</p>""" |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | )) |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
287 | self.__editorAct.triggered.connect(self.__editorCodeStyleCheck) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
288 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | e5App().getObject("Project").showMenu.connect(self.__projectShowMenu) |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
290 | e5App().getObject("ProjectBrowser").getProjectBrowser( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
291 | "sources").showMenu.connect(self.__projectBrowserShowMenu) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | e5App().getObject("ViewManager").editorOpenedEd.connect( |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | self.__editorOpened) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | e5App().getObject("ViewManager").editorClosedEd.connect( |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | self.__editorClosed) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | for editor in e5App().getObject("ViewManager").getOpenEditors(): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | self.__editorOpened(editor) |
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 | return None, True |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | def deactivate(self): |
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 | Public method to deactivate this plugin. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | e5App().getObject("Project").showMenu.disconnect( |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | self.__projectShowMenu) |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
308 | e5App().getObject("ProjectBrowser").getProjectBrowser( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
309 | "sources").showMenu.disconnect(self.__projectBrowserShowMenu) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | e5App().getObject("ViewManager").editorOpenedEd.disconnect( |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
311 | self.__editorOpened) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | e5App().getObject("ViewManager").editorClosedEd.disconnect( |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | self.__editorClosed) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | menu = e5App().getObject("Project").getMenu("Checks") |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | if menu: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | menu.removeAction(self.__projectAct) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | if self.__projectBrowserMenu: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | if self.__projectBrowserAct: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | self.__projectBrowserMenu.removeAction( |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | self.__projectBrowserAct) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | for editor in self.__editors: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | editor.showMenu.disconnect(self.__editorShowMenu) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | menu = editor.getMenu("Checks") |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | if menu is not None: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | menu.removeAction(self.__editorAct) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | self.__initialize() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | def __projectShowMenu(self, menuName, menu): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
334 | Private slot called, when the the project menu or a submenu is |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | about to be shown. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | @param menuName name of the menu to be shown (string) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | @param menu reference to the menu (QMenu) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | if menuName == "Checks" and self.__projectAct is not None: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | self.__projectAct.setEnabled( |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
342 | e5App().getObject("Project").getProjectLanguage() in |
7178
43e994af5ee0
MicroPython: added more MicroPython type related handling.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
343 | ["Python3", "Python2", "Python", "MicroPython"]) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | def __projectBrowserShowMenu(self, menuName, menu): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
347 | Private slot called, when the the project browser menu or a submenu is |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | about to be shown. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
350 | @param menuName name of the menu to be shown (string) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | @param menu reference to the menu (QMenu) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | """ |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
353 | if ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
354 | menuName == "Checks" and |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
355 | e5App().getObject("Project").getProjectLanguage() in |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
356 | ["Python3", "Python2", "Python", "MicroPython"] |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
357 | ): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
358 | self.__projectBrowserMenu = menu |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | if self.__projectBrowserAct is None: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | self.__projectBrowserAct = E5Action( |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
361 | self.tr('Check Code Style'), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
362 | self.tr('&Code Style...'), 0, 0, |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | self, "") |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3180
diff
changeset
|
364 | self.__projectBrowserAct.setWhatsThis(self.tr( |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
365 | """<b>Check Code Style...</b>""" |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | """<p>This checks Python files for compliance to the""" |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
367 | """ code style conventions given in various PEPs.</p>""" |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | )) |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
369 | self.__projectBrowserAct.triggered.connect( |
2982
556adfe76ba7
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:
2980
diff
changeset
|
370 | self.__projectBrowserCodeStyleCheck) |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
371 | if self.__projectBrowserAct not in menu.actions(): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | menu.addAction(self.__projectBrowserAct) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | |
2982
556adfe76ba7
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:
2980
diff
changeset
|
374 | def __projectCodeStyleCheck(self): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | """ |
3591
2f2a4a76dd22
Corrected a bunch of source docu issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3558
diff
changeset
|
376 | Private slot used to check the project files for code style. |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | project = e5App().getObject("Project") |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | project.saveAllScripts() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | ppath = project.getProjectPath() |
2912
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
381 | files = [os.path.join(ppath, file) |
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
382 | for file in project.pdata["SOURCES"] |
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
383 | if file.endswith( |
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
384 | tuple(Preferences.getPython("Python3Extensions")) + |
9ff696796092
Changed some display and source docu strings in the code style checker to make them more universal because the scope goes beyond PEP-8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2712
diff
changeset
|
385 | tuple(Preferences.getPython("PythonExtensions")))] |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
387 | from CheckerPlugins.CodeStyleChecker import CodeStyleCheckerDialog |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
388 | self.__projectCodeStyleCheckerDialog = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
389 | CodeStyleCheckerDialog.CodeStyleCheckerDialog(self) |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
390 | ) |
2982
556adfe76ba7
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:
2980
diff
changeset
|
391 | self.__projectCodeStyleCheckerDialog.show() |
556adfe76ba7
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:
2980
diff
changeset
|
392 | self.__projectCodeStyleCheckerDialog.prepare(files, project) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | |
2982
556adfe76ba7
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:
2980
diff
changeset
|
394 | def __projectBrowserCodeStyleCheck(self): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | """ |
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:
2973
diff
changeset
|
396 | Private method to handle the code style check context menu action of |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | the project sources browser. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | """ |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
399 | browser = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
400 | e5App().getObject("ProjectBrowser").getProjectBrowser("sources") |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
401 | ) |
3450
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
402 | if browser.getSelectedItemsCount([ProjectBrowserFileItem]) > 1: |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
403 | fn = [] |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
404 | for itm in browser.getSelectedItems([ProjectBrowserFileItem]): |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
405 | fn.append(itm.fileName()) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | isDir = False |
3450
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
407 | else: |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
408 | itm = browser.model().item(browser.currentIndex()) |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
409 | try: |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
410 | fn = itm.fileName() |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
411 | isDir = False |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
412 | except AttributeError: |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
413 | fn = itm.dirName() |
2f7c8fd8e3f5
Added capability to check multiple files from the project sources browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3446
diff
changeset
|
414 | isDir = True |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
416 | from CheckerPlugins.CodeStyleChecker import CodeStyleCheckerDialog |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
417 | self.__projectBrowserCodeStyleCheckerDialog = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
418 | CodeStyleCheckerDialog.CodeStyleCheckerDialog(self) |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
419 | ) |
2982
556adfe76ba7
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:
2980
diff
changeset
|
420 | self.__projectBrowserCodeStyleCheckerDialog.show() |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | if isDir: |
2982
556adfe76ba7
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:
2980
diff
changeset
|
422 | self.__projectBrowserCodeStyleCheckerDialog.start( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
423 | fn, save=True) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | else: |
2982
556adfe76ba7
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:
2980
diff
changeset
|
425 | self.__projectBrowserCodeStyleCheckerDialog.start( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
426 | fn, save=True, repeat=True) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | def __editorOpened(self, editor): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | Private slot called, when a new editor was opened. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | @param editor reference to the new editor (QScintilla.Editor) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | menu = editor.getMenu("Checks") |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | if menu is not None: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | menu.addAction(self.__editorAct) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | editor.showMenu.connect(self.__editorShowMenu) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | self.__editors.append(editor) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | def __editorClosed(self, editor): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | Private slot called, when an editor was closed. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | @param editor reference to the editor (QScintilla.Editor) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | try: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | self.__editors.remove(editor) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
448 | except ValueError: |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | pass |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | def __editorShowMenu(self, menuName, menu, editor): |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
453 | Private slot called, when the the editor context menu or a submenu is |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
454 | about to be shown. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
455 | |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
456 | @param menuName name of the menu to be shown (string) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | @param menu reference to the menu (QMenu) |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | @param editor reference to the editor |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
460 | if menuName == "Checks": |
3621
15f23ed3f216
Fixed a few source code style issues found by the updated pe8 checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3591
diff
changeset
|
461 | if self.__editorAct not in menu.actions(): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | menu.addAction(self.__editorAct) |
3446
5a670e55adbb
Improved the way the Python variant of a source file is detected (thanks to Tobias Rzepka).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
463 | self.__editorAct.setEnabled(editor.isPyFile()) |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | |
2982
556adfe76ba7
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:
2980
diff
changeset
|
465 | def __editorCodeStyleCheck(self): |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
466 | """ |
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:
2973
diff
changeset
|
467 | Private slot to handle the code style check context menu action |
832
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | of the editors. |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | """ |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | editor = e5App().getObject("ViewManager").activeWindow() |
eb5ff61f927b
Added a checker for PEP 8 compliance.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | if editor is not None: |
954
a096fdc38f71
Fixed a few issues with the various checkers related to checking an unsaved file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
945
diff
changeset
|
472 | if editor.checkDirty() and editor.getFileName() is not None: |
7256
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
473 | from CheckerPlugins.CodeStyleChecker import ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
474 | CodeStyleCheckerDialog |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
475 | ) |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
476 | self.__editorCodeStyleCheckerDialog = ( |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
477 | CodeStyleCheckerDialog.CodeStyleCheckerDialog(self) |
4ef3b78ebb4e
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
478 | ) |
2982
556adfe76ba7
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:
2980
diff
changeset
|
479 | self.__editorCodeStyleCheckerDialog.show() |
556adfe76ba7
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:
2980
diff
changeset
|
480 | self.__editorCodeStyleCheckerDialog.start( |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
481 | editor.getFileName(), |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
482 | save=True, |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
849
diff
changeset
|
483 | repeat=True) |