PyLint/PyLintConfigDialog.py

changeset 22
68beeb22dade
parent 20
8ca799e4b7e4
child 24
b01348dd84d5
equal deleted inserted replaced
21:f2144b9596a0 22:68beeb22dade
4 # 4 #
5 5
6 """ 6 """
7 Module implementing a dialog to configure the PyLint process 7 Module implementing a dialog to configure the PyLint process
8 """ 8 """
9
10 from __future__ import unicode_literals # __IGNORE_WARNING__
11 try:
12 str = unicode
13 except (NameError):
14 pass
9 15
10 import os 16 import os
11 import copy 17 import copy
12 18
13 from PyQt4.QtCore import pyqtSlot, QProcess, SIGNAL 19 from PyQt4.QtCore import pyqtSlot, QProcess, SIGNAL
25 31
26 class PyLintConfigDialog(QDialog, Ui_PyLintConfigDialog): 32 class PyLintConfigDialog(QDialog, Ui_PyLintConfigDialog):
27 """ 33 """
28 Class implementing a dialog to configure the PyLint process 34 Class implementing a dialog to configure the PyLint process
29 """ 35 """
30 def __init__(self, ppath, exe, parms=None, parent=None): 36 def __init__(self, ppath, exe, parms, version):
31 """ 37 """
32 Constructor 38 Constructor
33 39
34 @param ppath project path (string or QString) 40 @param ppath project path (string or QString)
35 Used to set the default path for the rcfile selection dialog 41 Used to set the default path for the rcfile selection dialog
36 @param exe name of the pylint executable (string) 42 @param exe name of the pylint executable (string)
37 @param parms parameters to set in the dialog 43 @param parms parameters to set in the dialog
38 @param parent reference to the parent widget (QWidget) 44 @param version pylint version (string)
39 """ 45 """
40 super().__init__(parent) 46 super(PyLintConfigDialog, self).__init__(None)
41 self.setupUi(self) 47 self.setupUi(self)
42 48
49 self.version = version
43 self.pylintProc = None 50 self.pylintProc = None
44 self.lint = exe 51 self.lint = exe
45 52
46 self.__initializeDefaults() 53 self.__initializeDefaults()
47 54
99 'txtReport': False, 106 'txtReport': False,
100 'htmlReport': True, 107 'htmlReport': True,
101 'dialogReport': False, 108 'dialogReport': False,
102 109
103 # enabled checkers 110 # enabled checkers
104 'enableBasic': False, 111 'enableBasic': True,
105 'enableClasses': False, 112 'enableClasses': True,
106 'enableDesign': False, 113 'enableDesign': True,
107 'enableExceptions': False, 114 'enableExceptions': True,
108 'enableFormat': False, 115 'enableFormat': False,
109 'enableImports': False, 116 'enableImports': False,
117 'enableLogging': True,
110 'enableMetrics': True, 118 'enableMetrics': True,
111 'enableMiscellaneous': False, 119 'enableMiscellaneous': True,
112 'enableNewstyle': False, 120 'enableNewstyle': True,
113 'enableSimilarities': False, 121 'enableSimilarities': True,
114 'enableTypecheck': False, 122 'enableStringFormat': True,
115 'enableVariables': False, 123 'enableTypecheck': True,
116 'enableLogging': False, 124 'enableVariables': True,
117 'enableStringFormat': False,
118 125
119 # messages 126 # messages
120 'enabledMessages': '', 127 'enabledMessages': '',
121 'disabledMessages': '', 128 'disabledMessages': '',
122 } 129 }
203 if self.parameters['enableVariables']: 210 if self.parameters['enableVariables']:
204 checkers.append('variables') 211 checkers.append('variables')
205 if self.parameters['enableLogging']: 212 if self.parameters['enableLogging']:
206 checkers.append('logging') 213 checkers.append('logging')
207 if self.parameters['enableStringFormat']: 214 if self.parameters['enableStringFormat']:
208 checkers.append('string_format') 215 if self.version > '0.27.0':
216 checkers.append('string')
217 else:
218 checkers.append('string_format')
219
220 args.append('--disable=all')
209 if checkers: 221 if checkers:
210 args.append('--enable={0}'.format(','.join(checkers))) 222 args.append('--enable={0}'.format(','.join(checkers)))
211 223
212 # 2.3 messages options 224 # 2.3 messages options
213 parms['enabledMessages'] = self.parameters['enabledMessages'] 225 parms['enabledMessages'] = self.parameters['enabledMessages']
289 [m.strip() for m in self.enabledMessagesEdit.text().split(',')]) 301 [m.strip() for m in self.enabledMessagesEdit.text().split(',')])
290 self.parameters['disabledMessages'] = ','.join( 302 self.parameters['disabledMessages'] = ','.join(
291 [m.strip() for m in self.disabledMessagesEdit.text().split(',')]) 303 [m.strip() for m in self.disabledMessagesEdit.text().split(',')])
292 304
293 # call the accept slot of the base class 305 # call the accept slot of the base class
294 super().accept() 306 super(PyLintConfigDialog, self).accept()
295 307
296 ############################################################################ 308 ############################################################################
297 ## Methods below are needed to generate a configuration file template 309 ## Methods below are needed to generate a configuration file template
298 ############################################################################ 310 ############################################################################
299 311

eric ide

mercurial