summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmile Anclin <emile.anclin@logilab.fr>2010-11-15 14:52:57 +0100
committerEmile Anclin <emile.anclin@logilab.fr>2010-11-15 14:52:57 +0100
commit62b387d773a2e50dd4a554de93fb199324ea7fc7 (patch)
tree170a294e6b00e8f646502d3edc37cc13cf862ea1
parente0296d8ad72f27d8e7899d5ec38827081e6f47a0 (diff)
downloadpylint-git-62b387d773a2e50dd4a554de93fb199324ea7fc7.tar.gz
223 : run python2.x compatible fixers
-rwxr-xr-xcheckers/base.py6
-rw-r--r--checkers/classes.py2
-rw-r--r--checkers/format.py2
-rw-r--r--checkers/imports.py6
-rw-r--r--checkers/misc.py2
-rw-r--r--checkers/variables.py2
-rw-r--r--config.py4
-rw-r--r--gui.py4
-rw-r--r--lint.py9
-rw-r--r--pyreverse/diagrams.py4
-rw-r--r--reporters/text.py4
-rw-r--r--utils.py4
12 files changed, 24 insertions, 25 deletions
diff --git a/checkers/base.py b/checkers/base.py
index dc0fd2783..f415c9f41 100755
--- a/checkers/base.py
+++ b/checkers/base.py
@@ -439,8 +439,8 @@ functions, methods
name = node.func.name
# ignore the name if it's not a builtin (i.e. not defined in the
# locals nor globals scope)
- if not (node.frame().has_key(name) or
- node.root().has_key(name)):
+ if not (name in node.frame() or
+ name in node.root()):
if name in self.config.bad_functions:
self.add_message('W0141', node=node, args=name)
if node.starargs or node.kwargs:
@@ -504,7 +504,7 @@ functions, methods
def _check_required_attributes(self, node, attributes):
"""check for required attributes"""
for attr in attributes:
- if not node.has_key(attr):
+ if attr not in node:
self.add_message('C0121', node=node, args=attr)
def _check_not_in_finally(self, node, node_name, breaker_classes=()):
diff --git a/checkers/classes.py b/checkers/classes.py
index 52b76df72..eb29861fc 100644
--- a/checkers/classes.py
+++ b/checkers/classes.py
@@ -82,7 +82,7 @@ MSGS = {
'E0221': ('Interface resolved to %s is not a class',
'Used when a class claims to implement an interface which is not \
a class.'),
- 'E0222': ('Missing method %r from %s interface' ,
+ 'E0222': ('Missing method %r from %s interface',
'Used when a method declared in an interface is missing from a \
class implementing this interface'),
'W0221': ('Arguments number differs from %s method',
diff --git a/checkers/format.py b/checkers/format.py
index 00d8f74a4..c21363094 100644
--- a/checkers/format.py
+++ b/checkers/format.py
@@ -295,7 +295,7 @@ class FormatChecker(BaseRawChecker):
self.add_message('C0321', node=node)
self._visited_lines[line] = 2
return
- if self._visited_lines.has_key(line):
+ if line in self._visited_lines:
return
try:
tolineno = node.blockstart_tolineno
diff --git a/checkers/imports.py b/checkers/imports.py
index a0936bd69..9e291b774 100644
--- a/checkers/imports.py
+++ b/checkers/imports.py
@@ -101,7 +101,7 @@ def dependencies_graph(filename, dep_info):
done[modname] = 1
printer.emit_node(modname)
for modname in dependencies:
- if not done.has_key(modname):
+ if modname not in done:
done[modname] = 1
printer.emit_node(modname)
for depmodname, dependencies in dep_info.items():
@@ -122,7 +122,7 @@ def make_graph(filename, dep_info, sect, gtype):
# the import checker itself ###################################################
MSGS = {
- 'F0401': ('Unable to import %r' ,
+ 'F0401': ('Unable to import %r',
'Used when pylint has been unable to import a module.'),
'R0401': ('Cyclic import (%s)',
'Used when a cyclic import between two or more modules is \
@@ -160,7 +160,7 @@ class ImportsChecker(BaseChecker):
priority = -2
options = (('deprecated-modules',
- {'default' : ('regsub','string', 'TERMIOS',
+ {'default' : ('regsub', 'string', 'TERMIOS',
'Bastion', 'rexec'),
'type' : 'csv',
'metavar' : '<modules>',
diff --git a/checkers/misc.py b/checkers/misc.py
index 0c7dc0f17..83e337cfd 100644
--- a/checkers/misc.py
+++ b/checkers/misc.py
@@ -38,7 +38,7 @@ def guess_encoding(string):
"""try to guess encoding from a python file as string
return None if not found
"""
- assert type(string) is type(''), type(string)
+ assert isinstance(string, str), type(string)
# check for UTF-8 byte-order mark
if string.startswith('\xef\xbb\xbf'):
return 'UTF-8'
diff --git a/checkers/variables.py b/checkers/variables.py
index 874feff9d..c9bc1cddb 100644
--- a/checkers/variables.py
+++ b/checkers/variables.py
@@ -216,7 +216,7 @@ builtins. Remember that you should avoid to define new builtins when possible.'
"""
globs = node.root().globals
for name, stmt in node.items():
- if globs.has_key(name) and not isinstance(stmt, astng.Global):
+ if name in globs and not isinstance(stmt, astng.Global):
line = globs[name][0].lineno
self.add_message('W0621', args=(name, line), node=stmt)
elif is_builtin(name):
diff --git a/config.py b/config.py
index 939ace1d5..391cca07e 100644
--- a/config.py
+++ b/config.py
@@ -26,7 +26,7 @@ from os.path import exists, isfile, join, expanduser, abspath, dirname
# pylint home is used to save old runs results ################################
USER_HOME = expanduser('~')
-if os.environ.has_key('PYLINTHOME'):
+if 'PYLINTHOME' in os.environ:
PYLINT_HOME = os.environ['PYLINTHOME']
if USER_HOME == '~':
USER_HOME = dirname(PYLINT_HOME)
@@ -88,7 +88,7 @@ def find_pylintrc():
curdir = abspath(join(curdir, '..'))
if isfile(join(curdir, 'pylintrc')):
return join(curdir, 'pylintrc')
- if os.environ.has_key('PYLINTRC') and exists(os.environ['PYLINTRC']):
+ if 'PYLINTRC' in os.environ and exists(os.environ['PYLINTRC']):
pylintrc = os.environ['PYLINTRC']
else:
user_home = expanduser('~')
diff --git a/gui.py b/gui.py
index b9d328ea4..9755ac2a9 100644
--- a/gui.py
+++ b/gui.py
@@ -342,8 +342,8 @@ class LintGui:
def file_open(self, package=False, _=None):
"""launch a file browser"""
if not package:
- filename = askopenfilename(parent=self.root, filetypes=[('pythonfiles','*.py'),
- ('allfiles','*')],title='Select Module')
+ filename = askopenfilename(parent=self.root, filetypes=[('pythonfiles', '*.py'),
+ ('allfiles', '*')], title='Select Module')
else:
filename = askdirectory(title="Select A Folder", mustexist=1)
diff --git a/lint.py b/lint.py
index ac7eae710..fe8d513e9 100644
--- a/lint.py
+++ b/lint.py
@@ -606,7 +606,7 @@ This is used by the global evaluation report (RP0004).'}),
else:
stats['global_note'] = note
msg = 'Your code has been rated at %.2f/10' % note
- if old_stats.has_key('global_note'):
+ if 'global_note' in old_stats:
msg += ' (previous run: %.2f/10)' % old_stats['global_note']
if self.config.comment:
msg = '%s\n%s' % (msg, config.get_note_message(note))
@@ -627,10 +627,9 @@ def report_messages_stats(sect, stats, _):
if not stats['by_msg']:
# don't print this report when we didn't detected any errors
raise EmptyReport()
- in_order = [(value, msg_id)
- for msg_id, value in stats['by_msg'].items()
- if not msg_id.startswith('I')]
- in_order.sort()
+ in_order = sorted([(value, msg_id)
+ for msg_id, value in stats['by_msg'].items()
+ if not msg_id.startswith('I')])
in_order.reverse()
lines = ('message id', 'occurrences')
for value, msg_id in in_order:
diff --git a/pyreverse/diagrams.py b/pyreverse/diagrams.py
index 5725fd76b..23d23eff8 100644
--- a/pyreverse/diagrams.py
+++ b/pyreverse/diagrams.py
@@ -98,7 +98,7 @@ class ClassDiagram(Figure, FilterMixIn):
def add_object(self, title, node):
"""create a diagram object
"""
- assert not self._nodes.has_key(node)
+ assert node not in self._nodes
ent = DiagramEntity(title, node)
self._nodes[node] = ent
self.objects.append(ent)
@@ -124,7 +124,7 @@ class ClassDiagram(Figure, FilterMixIn):
def has_node(self, node):
"""return true if the given node is included in the diagram
"""
- return self._nodes.has_key(node)
+ return node in self._nodes
def object_from_node(self, node):
"""return the diagram object mapped to node
diff --git a/reporters/text.py b/reporters/text.py
index 40c28eca1..2ceb6ba5f 100644
--- a/reporters/text.py
+++ b/reporters/text.py
@@ -48,7 +48,7 @@ class TextReporter(BaseReporter):
def add_message(self, msg_id, location, msg):
"""manage message of different type and in the context of path"""
module, obj, line = location[1:]
- if not self._modules.has_key(module):
+ if module not in self._modules:
if module:
self.writeln('************* Module %s' % module)
self._modules[module] = 1
@@ -133,7 +133,7 @@ class ColorizedTextReporter(TextReporter):
using ansi escape codes
"""
module, obj, line = location[1:]
- if not self._modules.has_key(module):
+ if module not in self._modules:
color, style = self._get_decoration('S')
if module:
modsep = colorize_ansi('************* Module %s' % module,
diff --git a/utils.py b/utils.py
index 541014f5e..7b7eb2a21 100644
--- a/utils.py
+++ b/utils.py
@@ -127,7 +127,7 @@ class MessagesHandlerMixIn:
chkid = None
for msgid, (msg, msgdescr) in msgs_dict.items():
# avoid duplicate / malformed ids
- assert not self._messages.has_key(msgid), \
+ assert msgid not in self._messages, \
'Message id %r is already defined' % msgid
assert chkid is None or chkid == msgid[1:3], \
'Inconsistent checker part in message id %r' % msgid
@@ -416,7 +416,7 @@ class ReportsHandlerMixIn:
for key, value in kwargs.items():
if key[-1] == '_':
key = key[:-1]
- assert not self.stats.has_key(key)
+ assert key not in self.stats
self.stats[key] = value
return self.stats