PyLintInterface/PyLintConfigDialog.py

Tue, 29 Oct 2024 17:23:21 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 29 Oct 2024 17:23:21 +0100
branch
eric7
changeset 117
f8955e5dba87
parent 116
71d3a2e48265
child 119
ebb5306aeb60
permissions
-rw-r--r--

- changed to the new style header
- ensured proper parent relationship of modal dialogs
- included compiled form files

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

eric ide

mercurial