PyLintInterface/PyLintConfigDialog.py

Tue, 20 Sep 2022 17:16:37 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 20 Sep 2022 17:16:37 +0200
branch
eric7
changeset 107
3bd2806a6ada
parent 102
e40ecfd9ec37
child 108
b452f300e6c7
permissions
-rw-r--r--

Reformatted sources with 'Black'.

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

eric ide

mercurial