diff options
author | Emile Anclin <emile.anclin@logilab.fr> | 2010-11-15 14:52:57 +0100 |
---|---|---|
committer | Emile Anclin <emile.anclin@logilab.fr> | 2010-11-15 14:52:57 +0100 |
commit | 62b387d773a2e50dd4a554de93fb199324ea7fc7 (patch) | |
tree | 170a294e6b00e8f646502d3edc37cc13cf862ea1 | |
parent | e0296d8ad72f27d8e7899d5ec38827081e6f47a0 (diff) | |
download | pylint-git-62b387d773a2e50dd4a554de93fb199324ea7fc7.tar.gz |
223 : run python2.x compatible fixers
-rwxr-xr-x | checkers/base.py | 6 | ||||
-rw-r--r-- | checkers/classes.py | 2 | ||||
-rw-r--r-- | checkers/format.py | 2 | ||||
-rw-r--r-- | checkers/imports.py | 6 | ||||
-rw-r--r-- | checkers/misc.py | 2 | ||||
-rw-r--r-- | checkers/variables.py | 2 | ||||
-rw-r--r-- | config.py | 4 | ||||
-rw-r--r-- | gui.py | 4 | ||||
-rw-r--r-- | lint.py | 9 | ||||
-rw-r--r-- | pyreverse/diagrams.py | 4 | ||||
-rw-r--r-- | reporters/text.py | 4 | ||||
-rw-r--r-- | utils.py | 4 |
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): @@ -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('~') @@ -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) @@ -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, @@ -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 |