PyLintInterface/PyLintConfigDialog.py

Sat, 31 Dec 2022 16:27:40 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 31 Dec 2022 16:27:40 +0100
branch
eric7
changeset 114
524f52c0ac34
parent 112
7ece4ae4b274
child 115
4a96d169c373
permissions
-rw-r--r--

Updated copyright for 2023.

0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
114
524f52c0ac34 Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 112
diff changeset
3 # Copyright (c) 2005 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
7 Module implementing a dialog to configure the PyLint process.
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
112
7ece4ae4b274 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
10 import copy
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
112
7ece4ae4b274 Adapted some import statements to eric 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 108
diff changeset
13 from PyQt6.QtCore import QProcess, pyqtSlot
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
14 from PyQt6.QtWidgets import QDialog
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
108
b452f300e6c7 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 107
diff changeset
16 from eric7 import Preferences
b452f300e6c7 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 107
diff changeset
17 from eric7.EricWidgets import EricMessageBox
b452f300e6c7 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 107
diff changeset
18 from eric7.EricWidgets.EricApplication import ericApp
b452f300e6c7 Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 107
diff changeset
19 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 from .Ui_PyLintConfigDialog import Ui_PyLintConfigDialog
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 class PyLintConfigDialog(QDialog, Ui_PyLintConfigDialog):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
26 Class implementing a dialog to configure the PyLint process.
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
28
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
29 def __init__(self, ppath, exe, parms, version):
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 Constructor
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
32
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
33 @param ppath project path; used to set the default path for the
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
34 rcfile picker
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
35 @type str
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
36 @param exe name of the pylint executable
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
37 @type str
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 @param parms parameters to set in the dialog
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
39 @type dict
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
40 @param version pylint version (unused)
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
41 @type str
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 """
95
50eba81e4a9f - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
43 super().__init__(None)
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.setupUi(self)
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
45
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
46 self.__version = version
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
47 self.__pylintProc = None
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
48 self.__lint = exe
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
49
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.__initializeDefaults()
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
51
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 # get a copy of the defaults to store the user settings
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.parameters = copy.deepcopy(self.defaults)
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
54
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 # combine it with the values of parms
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 if parms is not None:
77
87638b1c91b4 Adjusted the code style checking parameters and fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 68
diff changeset
57 self.parameters.update(parms)
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
58
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
59 self.configfilePicker.setWindowTitle(self.tr("Select configuration file"))
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
60 self.configfilePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
61 self.configfilePicker.setFilters(
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
62 self.tr("Configuration Files (*.cfg *.cnf *.rc);;" "All Files (*)")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
63 )
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
64 self.configfilePicker.setDefaultDirectory(ppath)
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
65
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
66 self.reportfilePicker.setWindowTitle(self.tr("Select report file"))
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
67 self.reportfilePicker.setMode(EricPathPickerModes.SAVE_FILE_MODE)
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
68 self.reportfilePicker.setFilters(
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
69 self.tr(
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
70 "HTML Files (*.html);;"
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
71 "Report Files (*.rpt);;"
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
72 "Text Files (*.txt);;"
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
73 "All Files (*)"
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
74 )
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
75 )
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
76
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 # initialize general tab
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
78 self.configfilePicker.setText(self.parameters["configFile"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
79 self.txtOutputButton.setChecked(self.parameters["txtReport"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
80 self.htmlOutputButton.setChecked(self.parameters["htmlReport"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
81 self.dialogOutputButton.setChecked(self.parameters["dialogReport"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
82 self.reportfilePicker.setText(self.parameters["reportFile"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
83
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 # initialize checkers tab
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
85 self.basicCheckBox.setChecked(self.parameters["enableBasic"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
86 self.classesCheckBox.setChecked(self.parameters["enableClasses"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
87 self.designCheckBox.setChecked(self.parameters["enableDesign"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
88 self.exceptionsCheckBox.setChecked(self.parameters["enableExceptions"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
89 self.formatCheckBox.setChecked(self.parameters["enableFormat"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
90 self.importsCheckBox.setChecked(self.parameters["enableImports"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
91 self.metricsCheckBox.setChecked(self.parameters["enableMetrics"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
92 self.miscellaneousCheckBox.setChecked(self.parameters["enableMiscellaneous"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
93 self.newstyleCheckBox.setChecked(self.parameters["enableNewstyle"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
94 self.similaritiesCheckBox.setChecked(self.parameters["enableSimilarities"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
95 self.typecheckCheckBox.setChecked(self.parameters["enableTypecheck"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
96 self.variablesCheckBox.setChecked(self.parameters["enableVariables"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
97 self.loggingCheckBox.setChecked(self.parameters["enableLogging"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
98 self.stringFormatCheckBox.setChecked(self.parameters["enableStringFormat"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
99
7
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
100 # initialize messages tab
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
101 self.enabledMessagesEdit.setText(self.parameters["enabledMessages"])
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
102 self.disabledMessagesEdit.setText(self.parameters["disabledMessages"])
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 def __initializeDefaults(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 Private method to set the default values.
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
107
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 These are needed later on to generate the commandline
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 parameters.
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 self.defaults = {
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 # general options
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
113 "configFile": "",
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
114 "reportFile": "",
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
115 "txtReport": False,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
116 "htmlReport": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
117 "dialogReport": False,
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 # enabled checkers
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
119 "enableBasic": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
120 "enableClasses": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
121 "enableDesign": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
122 "enableExceptions": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
123 "enableFormat": False,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
124 "enableImports": False,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
125 "enableLogging": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
126 "enableMetrics": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
127 "enableMiscellaneous": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
128 "enableNewstyle": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
129 "enableSimilarities": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
130 "enableStringFormat": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
131 "enableTypecheck": True,
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
132 "enableVariables": True,
7
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
133 # messages
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
134 "enabledMessages": "",
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
135 "disabledMessages": "",
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 }
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 def generateParameters(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 Public method that generates the commandline parameters.
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
141
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
142 It generates a list of strings to be used
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 to set the QProcess arguments for the pylint call and
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 a list containing the non default parameters. The second
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 list can be passed back upon object generation to overwrite
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 the default settings.
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
147
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
148 <b>Note</b>: The arguments list contains the name of the pylint
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
149 executable as the first parameter.
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
150
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
151 @return a tuple of the commandline parameters and non default
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
152 parameters
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
153 @rtype tuple of (list of str, dict)
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 parms = {}
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 args = []
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
157
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 # 1. the program name
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
159 args.append(self.__lint)
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
160
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 # 2. the commandline options
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 # 2.1 general options
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
163 if self.parameters["configFile"] != self.defaults["configFile"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
164 parms["configFile"] = self.parameters["configFile"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
165 args.append("--rcfile={0}".format(self.parameters["configFile"]))
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
166 parms["txtReport"] = self.parameters["txtReport"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
167 parms["htmlReport"] = self.parameters["htmlReport"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
168 parms["dialogReport"] = self.parameters["dialogReport"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
169 if self.parameters["htmlReport"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
170 args.append("--output-format=html")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
171 elif self.parameters["dialogReport"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
172 args.append("--output-format=parseable")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
173 args.append("--reports=n")
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 else:
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
175 args.append("--output-format=text")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
176 if self.parameters["reportFile"] != self.defaults["reportFile"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
177 parms["reportFile"] = self.parameters["reportFile"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
178
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 # 2.2 checkers options
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
180 parms["enableBasic"] = self.parameters["enableBasic"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
181 parms["enableClasses"] = self.parameters["enableClasses"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
182 parms["enableDesign"] = self.parameters["enableDesign"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
183 parms["enableExceptions"] = self.parameters["enableExceptions"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
184 parms["enableFormat"] = self.parameters["enableFormat"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
185 parms["enableImports"] = self.parameters["enableImports"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
186 parms["enableMetrics"] = self.parameters["enableMetrics"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
187 parms["enableMiscellaneous"] = self.parameters["enableMiscellaneous"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
188 parms["enableNewstyle"] = self.parameters["enableNewstyle"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
189 parms["enableSimilarities"] = self.parameters["enableSimilarities"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
190 parms["enableTypecheck"] = self.parameters["enableTypecheck"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
191 parms["enableVariables"] = self.parameters["enableVariables"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
192 parms["enableLogging"] = self.parameters["enableLogging"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
193 parms["enableStringFormat"] = self.parameters["enableStringFormat"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
194
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 checkers = []
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
196 if self.parameters["enableBasic"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
197 checkers.append("basic")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
198 if self.parameters["enableClasses"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
199 checkers.append("classes")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
200 if self.parameters["enableDesign"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
201 checkers.append("design")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
202 if self.parameters["enableExceptions"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
203 checkers.append("exceptions")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
204 if self.parameters["enableFormat"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
205 checkers.append("format")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
206 if self.parameters["enableImports"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
207 checkers.append("imports")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
208 if self.parameters["enableMetrics"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
209 checkers.append("metrics")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
210 if self.parameters["enableMiscellaneous"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
211 checkers.append("miscellaneous")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
212 if self.parameters["enableNewstyle"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
213 checkers.append("newstyle")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
214 if self.parameters["enableSimilarities"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
215 checkers.append("similarities")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
216 if self.parameters["enableTypecheck"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
217 checkers.append("typecheck")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
218 if self.parameters["enableVariables"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
219 checkers.append("variables")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
220 if self.parameters["enableLogging"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
221 checkers.append("logging")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
222 if self.parameters["enableStringFormat"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
223 checkers.append("string")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
224
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
225 args.append("--disable=all")
7
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
226 if checkers:
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
227 args.append("--enable={0}".format(",".join(checkers)))
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
228
7
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
229 # 2.3 messages options
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
230 parms["enabledMessages"] = self.parameters["enabledMessages"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
231 parms["disabledMessages"] = self.parameters["disabledMessages"]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
232 if parms["enabledMessages"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
233 args.append("--enable={0}".format(parms["enabledMessages"]))
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
234 if parms["disabledMessages"]:
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
235 args.append("--disable={0}".format(parms["disabledMessages"]))
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
236
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 return (args, parms)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 def accept(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 """
60
971dd1b69f5b Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 59
diff changeset
241 Public slot called by the Ok button.
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
242
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 It saves the values in the parameters dictionary.
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 # get data of general tab
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
246 self.parameters["configFile"] = self.configfilePicker.text()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
247 self.parameters["txtReport"] = self.txtOutputButton.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
248 self.parameters["htmlReport"] = self.htmlOutputButton.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
249 self.parameters["dialogReport"] = self.dialogOutputButton.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
250 self.parameters["reportFile"] = self.reportfilePicker.text()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
251
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 # get data of checkers tab
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
253 self.parameters["enableBasic"] = self.basicCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
254 self.parameters["enableClasses"] = self.classesCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
255 self.parameters["enableDesign"] = self.designCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
256 self.parameters["enableExceptions"] = self.exceptionsCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
257 self.parameters["enableFormat"] = self.formatCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
258 self.parameters["enableImports"] = self.importsCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
259 self.parameters["enableMetrics"] = self.metricsCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
260 self.parameters["enableMiscellaneous"] = self.miscellaneousCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
261 self.parameters["enableNewstyle"] = self.newstyleCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
262 self.parameters["enableSimilarities"] = self.similaritiesCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
263 self.parameters["enableTypecheck"] = self.typecheckCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
264 self.parameters["enableVariables"] = self.variablesCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
265 self.parameters["enableLogging"] = self.loggingCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
266 self.parameters["enableStringFormat"] = self.stringFormatCheckBox.isChecked()
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
267
7
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
268 # get data of messages tab
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
269 self.parameters["enabledMessages"] = ",".join(
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
270 [m.strip() for m in self.enabledMessagesEdit.text().split(",")]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
271 )
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
272 self.parameters["disabledMessages"] = ",".join(
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
273 [m.strip() for m in self.disabledMessagesEdit.text().split(",")]
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
274 )
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
275
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 # call the accept slot of the base class
95
50eba81e4a9f - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
277 super().accept()
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
279 ###########################################################################
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 ## Methods below are needed to generate a configuration file template
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
281 ###########################################################################
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 @pyqtSlot()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 def on_configButton_clicked(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 """
60
971dd1b69f5b Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 59
diff changeset
286 Private slot to handle the generation of a sample configuration.
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 self.buf = ""
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
289 self.__pylintProc = QProcess()
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
290 args = []
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
291
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 self.__ioEncoding = Preferences.getSystem("IOEncoding")
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
293
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
294 args.append("--generate-rcfile")
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
295
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
296 self.__pylintProc.readyReadStandardOutput.connect(self.__readStdout)
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
297 self.__pylintProc.readyReadStandardError.connect(self.__readStderr)
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
298 self.__pylintProc.finished.connect(self.__createConfigDone)
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
299
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
300 self.__pylintProc.start(self.__lint, args)
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
301 procStarted = self.__pylintProc.waitForStarted()
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 if procStarted:
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
303 ericApp().getObject("ViewManager").enableEditorsCheckFocusIn(False)
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 else:
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
305 EricMessageBox.critical(
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
306 self,
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
307 self.tr("Process Generation Error"),
38
bf234b8941d9 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
308 self.tr(
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
309 "Could not start {0}.<br>" "Ensure that it is in the search path."
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
310 ).format(self.__lint),
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
311 )
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
312
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 def __createConfigDone(self, exitCode, exitStatus):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315 Private slot to handle the the finished signal of the pylint process.
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
316
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
317 @param exitCode exit code of the process
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
318 @type int
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
319 @param exitStatus exit status of the process
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
320 @type QProcess.ExitStatus
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 """
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
322 vm = ericApp().getObject("ViewManager")
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 vm.enableEditorsCheckFocusIn(True)
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
324 if exitStatus == QProcess.ExitStatus.NormalExit and exitCode == 0:
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
325 vm.newEditor()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 aw = vm.activeWindow()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327 aw.insertAt(self.buf, 0, 0)
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
328 aw.setLanguage("dummy.rc")
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
329 self.reject()
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
330
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331 def __readStdout(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 """
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
333 Private slot to handle the readyReadStandardOutput signal of the
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
334 pylint process.
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335 """
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
336 if self.__pylintProc is None:
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 return
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
338
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
339 self.__pylintProc.setReadChannel(QProcess.ProcessChannel.StandardOutput)
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
340
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
341 while self.__pylintProc and self.__pylintProc.canReadLine():
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
342 line = str(
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
343 self.__pylintProc.readLine(), self.__ioEncoding, "replace"
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
344 ).rstrip()
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 self.buf += line + os.linesep
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
346
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 def __readStderr(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 """
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
349 Private slot to handle the readyReadStandardError signal of the
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
350 pylint process.
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 """
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
352 if self.__pylintProc is None:
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 return
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
354
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
355 self.__pylintProc.setReadChannel(QProcess.ProcessChannel.StandardError)
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
356 while self.__pylintProc and self.__pylintProc.canReadLine():
107
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
357 s = "pylint: " + str(
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
358 self.__pylintProc.readLine(), self.__ioEncoding, "replace"
3bd2806a6ada Reformatted sources with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 102
diff changeset
359 )
98
ab4aabca55ec Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 95
diff changeset
360 ericApp().getObject("UserInterface").appendStderr.emit(s)

eric ide

mercurial