PyLint/PyLintConfigDialog.py

Wed, 01 Jan 2020 11:58:51 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 01 Jan 2020 11:58:51 +0100
changeset 82
5493d105d329
parent 81
1cbb8193061c
child 85
6124794c3ffe
permissions
-rw-r--r--

Updated copyright for 2020.

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
82
5493d105d329 Updated copyright for 2020.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 81
diff changeset
3 # Copyright (c) 2005 - 2020 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
32
b0a6368042b9 python2Compatible flag added.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 30
diff changeset
10 from __future__ import unicode_literals
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
11 try:
32
b0a6368042b9 python2Compatible flag added.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 30
diff changeset
12 str = unicode
b0a6368042b9 python2Compatible flag added.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 30
diff changeset
13 except NameError:
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
14 pass
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
15
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 import os
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 import copy
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
38
bf234b8941d9 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
19 from PyQt5.QtCore import pyqtSlot, QProcess
60
971dd1b69f5b Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 59
diff changeset
20 from PyQt5.QtWidgets import QDialog
0
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 from E5Gui.E5Application import e5App
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 from E5Gui import E5FileDialog, E5MessageBox
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 from E5Gui.E5Completers import E5FileCompleter
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 from .Ui_PyLintConfigDialog import Ui_PyLintConfigDialog
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 import Preferences
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 import Utilities
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
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 class PyLintConfigDialog(QDialog, Ui_PyLintConfigDialog):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 """
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
34 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
35 """
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
36 def __init__(self, ppath, exe, parms, version):
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 Constructor
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 @param ppath project path (string or QString)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 Used to set the default path for the rcfile selection dialog
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 @param exe name of the pylint executable (string)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 @param parms parameters to set in the dialog
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
44 @param version pylint version (string)
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 """
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
46 super(PyLintConfigDialog, self).__init__(None)
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 self.setupUi(self)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
49 self.version = version
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.pylintProc = None
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 self.lint = exe
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.__initializeDefaults()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 # 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
56 self.parameters = copy.deepcopy(self.defaults)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 # combine it with the values of parms
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 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
60 self.parameters.update(parms)
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 self.configfileCompleter = E5FileCompleter(self.configfileEdit)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.reportfileCompleter = E5FileCompleter(self.reportfileEdit)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 # initialize general tab
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 self.configfileEdit.setText(self.parameters['configFile'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 self.txtOutputButton.setChecked(self.parameters['txtReport'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 self.htmlOutputButton.setChecked(self.parameters['htmlReport'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 self.dialogOutputButton.setChecked(self.parameters['dialogReport'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.reportfileEdit.setText(self.parameters['reportFile'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 # initialize checkers tab
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 self.basicCheckBox.setChecked(self.parameters['enableBasic'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 self.classesCheckBox.setChecked(self.parameters['enableClasses'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 self.designCheckBox.setChecked(self.parameters['enableDesign'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 self.exceptionsCheckBox.setChecked(self.parameters['enableExceptions'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 self.formatCheckBox.setChecked(self.parameters['enableFormat'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 self.importsCheckBox.setChecked(self.parameters['enableImports'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.metricsCheckBox.setChecked(self.parameters['enableMetrics'])
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
80 self.miscellaneousCheckBox.setChecked(
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
81 self.parameters['enableMiscellaneous'])
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 self.newstyleCheckBox.setChecked(self.parameters['enableNewstyle'])
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
83 self.similaritiesCheckBox.setChecked(
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
84 self.parameters['enableSimilarities'])
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.typecheckCheckBox.setChecked(self.parameters['enableTypecheck'])
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 self.variablesCheckBox.setChecked(self.parameters['enableVariables'])
10
398979610d9b Adjusted list of available checkers to pylint 0.23 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
87 self.loggingCheckBox.setChecked(self.parameters['enableLogging'])
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
88 self.stringFormatCheckBox.setChecked(
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
89 self.parameters['enableStringFormat'])
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
7
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
91 # initialize messages tab
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
92 self.enabledMessagesEdit.setText(self.parameters['enabledMessages'])
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
93 self.disabledMessagesEdit.setText(self.parameters['disabledMessages'])
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
94
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 self.ppath = ppath
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 def __initializeDefaults(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 Private method to set the default values.
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 These are needed later on to generate the commandline
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 parameters.
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 self.defaults = {
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 # general options
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 'configFile': '',
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 'reportFile': '',
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 'txtReport': False,
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 'htmlReport': True,
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 'dialogReport': False,
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 # enabled checkers
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
113 'enableBasic': True,
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
114 'enableClasses': True,
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
115 'enableDesign': True,
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
116 'enableExceptions': True,
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 'enableFormat': False,
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 'enableImports': False,
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
119 'enableLogging': True,
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 'enableMetrics': True,
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
121 'enableMiscellaneous': True,
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
122 'enableNewstyle': True,
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
123 'enableSimilarities': True,
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
124 'enableStringFormat': True,
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
125 'enableTypecheck': True,
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
126 '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
127
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
128 # messages
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
129 'enabledMessages': '',
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
130 'disabledMessages': '',
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 }
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 def generateParameters(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 Public method that generates the commandline parameters.
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 It generates a QStringList to be used
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 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
139 a list containing the non default parameters. The second
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 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
141 the default settings.
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
143 <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
144 executable as the first parameter.
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
146 @return a tuple of the commandline parameters and non default
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
147 parameters (list of strings, dictionary)
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 parms = {}
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 args = []
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 # 1. the program name
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 args.append(self.lint)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 # 2. the commandline options
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 # 2.1 general options
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157 if self.parameters['configFile'] != self.defaults['configFile']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 parms['configFile'] = self.parameters['configFile']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 args.append('--rcfile={0}'.format(self.parameters['configFile']))
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 parms['txtReport'] = self.parameters['txtReport']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 parms['htmlReport'] = self.parameters['htmlReport']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 parms['dialogReport'] = self.parameters['dialogReport']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 if self.parameters['htmlReport']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 args.append('--output-format=html')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 elif self.parameters['dialogReport']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 args.append('--output-format=parseable')
54
c47e613f3f37 Fixed an issue caused by a changed pylint command line parameter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 53
diff changeset
167 args.append('--reports=n')
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 else:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 args.append('--output-format=text')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 if self.parameters['reportFile'] != self.defaults['reportFile']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 parms['reportFile'] = self.parameters['reportFile']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 # 2.2 checkers options
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 parms['enableBasic'] = self.parameters['enableBasic']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 parms['enableClasses'] = self.parameters['enableClasses']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 parms['enableDesign'] = self.parameters['enableDesign']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 parms['enableExceptions'] = self.parameters['enableExceptions']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 parms['enableFormat'] = self.parameters['enableFormat']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 parms['enableImports'] = self.parameters['enableImports']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 parms['enableMetrics'] = self.parameters['enableMetrics']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 parms['enableMiscellaneous'] = self.parameters['enableMiscellaneous']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 parms['enableNewstyle'] = self.parameters['enableNewstyle']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 parms['enableSimilarities'] = self.parameters['enableSimilarities']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 parms['enableTypecheck'] = self.parameters['enableTypecheck']
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 parms['enableVariables'] = self.parameters['enableVariables']
10
398979610d9b Adjusted list of available checkers to pylint 0.23 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
186 parms['enableLogging'] = self.parameters['enableLogging']
398979610d9b Adjusted list of available checkers to pylint 0.23 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
187 parms['enableStringFormat'] = self.parameters['enableStringFormat']
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 checkers = []
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 if self.parameters['enableBasic']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 checkers.append('basic')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 if self.parameters['enableClasses']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 checkers.append('classes')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 if self.parameters['enableDesign']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 checkers.append('design')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 if self.parameters['enableExceptions']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 checkers.append('exceptions')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 if self.parameters['enableFormat']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 checkers.append('format')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 if self.parameters['enableImports']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 checkers.append('imports')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 if self.parameters['enableMetrics']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203 checkers.append('metrics')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 if self.parameters['enableMiscellaneous']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
205 checkers.append('miscellaneous')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
206 if self.parameters['enableNewstyle']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
207 checkers.append('newstyle')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
208 if self.parameters['enableSimilarities']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
209 checkers.append('similarities')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
210 if self.parameters['enableTypecheck']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211 checkers.append('typecheck')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 if self.parameters['enableVariables']:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
213 checkers.append('variables')
10
398979610d9b Adjusted list of available checkers to pylint 0.23 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
214 if self.parameters['enableLogging']:
398979610d9b Adjusted list of available checkers to pylint 0.23 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
215 checkers.append('logging')
398979610d9b Adjusted list of available checkers to pylint 0.23 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
216 if self.parameters['enableStringFormat']:
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
217 if self.version > '0.27.0':
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
218 checkers.append('string')
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
219 else:
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
220 checkers.append('string_format')
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
221
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
222 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
223 if checkers:
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
224 args.append('--enable={0}'.format(','.join(checkers)))
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
225
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
226 # 2.3 messages options
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
227 parms['enabledMessages'] = self.parameters['enabledMessages']
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
228 parms['disabledMessages'] = self.parameters['disabledMessages']
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
229 if parms['enabledMessages']:
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
230 args.append('--enable={0}'.format(parms['enabledMessages']))
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
231 if parms['disabledMessages']:
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
232 args.append('--disable={0}'.format(parms['disabledMessages']))
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 return (args, parms)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 @pyqtSlot()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 def on_configfileButton_clicked(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 Private slot to select the configuration file.
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 It displays a file selection dialog to select the configuration file.
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 startWith = self.configfileEdit.text()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 if startWith == "":
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 startWith = self.ppath
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 config = E5FileDialog.getOpenFileName(
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 self,
38
bf234b8941d9 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
248 self.tr("Select configuration file"),
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 startWith,
38
bf234b8941d9 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
250 self.tr("Configuration Files (*.cfg *.cnf *.rc);;"
60
971dd1b69f5b Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 59
diff changeset
251 "All Files (*)"))
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252 if config:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 self.configfileEdit.setText(Utilities.toNativeSeparators(config))
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 @pyqtSlot()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 def on_reportfileButton_clicked(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 Private slot to select the report file.
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 It displays a file selection dialog to select the report file.
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 report = E5FileDialog.getSaveFileName(
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 self,
38
bf234b8941d9 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
264 self.tr("Select report file"),
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 self.reportfileEdit.text(),
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 None,
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 None,
20
8ca799e4b7e4 Changed usage of QMessageBox and QFileDialog to the eric5 equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 15
diff changeset
268 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 if report:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 self.reportfileEdit.setText(Utilities.toNativeSeparators(report))
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 def accept(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 """
60
971dd1b69f5b Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 59
diff changeset
275 Public slot called by the Ok button.
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 It saves the values in the parameters dictionary.
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 # get data of general tab
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 self.parameters['configFile'] = self.configfileEdit.text()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 self.parameters['txtReport'] = self.txtOutputButton.isChecked()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282 self.parameters['htmlReport'] = self.htmlOutputButton.isChecked()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 self.parameters['dialogReport'] = self.dialogOutputButton.isChecked()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 self.parameters['reportFile'] = self.reportfileEdit.text()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 # get data of checkers tab
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 self.parameters['enableBasic'] = self.basicCheckBox.isChecked()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 self.parameters['enableClasses'] = self.classesCheckBox.isChecked()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 self.parameters['enableDesign'] = self.designCheckBox.isChecked()
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
290 self.parameters['enableExceptions'] = \
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
291 self.exceptionsCheckBox.isChecked()
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 self.parameters['enableFormat'] = self.formatCheckBox.isChecked()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 self.parameters['enableImports'] = self.importsCheckBox.isChecked()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 self.parameters['enableMetrics'] = self.metricsCheckBox.isChecked()
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
295 self.parameters['enableMiscellaneous'] = \
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
296 self.miscellaneousCheckBox.isChecked()
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 self.parameters['enableNewstyle'] = self.newstyleCheckBox.isChecked()
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
298 self.parameters['enableSimilarities'] = \
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
299 self.similaritiesCheckBox.isChecked()
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 self.parameters['enableTypecheck'] = self.typecheckCheckBox.isChecked()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 self.parameters['enableVariables'] = self.variablesCheckBox.isChecked()
10
398979610d9b Adjusted list of available checkers to pylint 0.23 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
302 self.parameters['enableLogging'] = self.loggingCheckBox.isChecked()
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
303 self.parameters['enableStringFormat'] = \
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
304 self.stringFormatCheckBox.isChecked()
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
305
7
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
306 # get data of messages tab
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
307 self.parameters['enabledMessages'] = ','.join(
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
308 [m.strip() for m in self.enabledMessagesEdit.text().split(',')])
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
309 self.parameters['disabledMessages'] = ','.join(
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
310 [m.strip() for m in self.disabledMessagesEdit.text().split(',')])
cda98d0e93e7 Added a page to the config dialog to enable and diable messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
311
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 # call the accept slot of the base class
22
68beeb22dade Py2 compatibility, pylint script based on project language.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 20
diff changeset
313 super(PyLintConfigDialog, self).accept()
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
315 ###########################################################################
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 ## 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
317 ###########################################################################
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319 @pyqtSlot()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 def on_configButton_clicked(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 """
60
971dd1b69f5b Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 59
diff changeset
322 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
323 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 self.buf = ""
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
325 self.pylintProc = QProcess()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 args = []
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 self.__ioEncoding = Preferences.getSystem("IOEncoding")
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
329
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
330 args.append('--generate-rcfile')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
332 self.pylintProc.readyReadStandardOutput.connect(self.__readStdout)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
333 self.pylintProc.readyReadStandardError.connect(self.__readStderr)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 self.pylintProc.finished.connect(self.__createConfigDone)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
335
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
336 self.pylintProc.start(self.lint, args)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
337 procStarted = self.pylintProc.waitForStarted()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338 if procStarted:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
339 e5App().getObject("ViewManager").enableEditorsCheckFocusIn(False)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 else:
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
341 E5MessageBox.critical(
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
342 self,
38
bf234b8941d9 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
343 self.tr('Process Generation Error'),
bf234b8941d9 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
344 self.tr(
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 'Could not start {0}.<br>'
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 'Ensure that it is in the search path.'
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 ).format(self.lint))
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 def __createConfigDone(self, exitCode, exitStatus):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 Private slot to handle the the finished signal of the pylint process.
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
352
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 @param exitCode exit code of the process (integer)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 @param exitStatus exit status of the process (QProcess.ExitStatus)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
355 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 vm = e5App().getObject("ViewManager")
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357 vm.enableEditorsCheckFocusIn(True)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 if exitStatus == QProcess.NormalExit and exitCode == 0:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 vm.newEditor()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 aw = vm.activeWindow()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 aw.insertAt(self.buf, 0, 0)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 aw.setLanguage('dummy.rc')
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 self.reject()
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 def __readStdout(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 """
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
367 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
368 pylint process.
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 if self.pylintProc is None:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 return
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 self.pylintProc.setReadChannel(QProcess.StandardOutput)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374 while self.pylintProc and self.pylintProc.canReadLine():
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
375 line = str(self.pylintProc.readLine(), self.__ioEncoding,
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
376 "replace").rstrip()
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 self.buf += line + os.linesep
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 def __readStderr(self):
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 """
28
1dae294006e8 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 24
diff changeset
381 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
382 pylint process.
0
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383 """
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 if self.pylintProc is None:
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385 return
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386 self.pylintProc.setReadChannel(QProcess.StandardError)
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
387 while self.pylintProc and self.pylintProc.canReadLine():
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
388 s = 'pylint: ' + str(
1c1ac27f3cf1 Added first set of sources.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
389 self.pylintProc.readLine(), self.__ioEncoding, "replace")
38
bf234b8941d9 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 32
diff changeset
390 e5App().getObject("UserInterface").appendStderr.emit(s)

eric ide

mercurial