diff options
author | Brett Cannon <brett@python.org> | 2014-08-29 15:48:24 -0400 |
---|---|---|
committer | Brett Cannon <brett@python.org> | 2014-08-29 15:48:24 -0400 |
commit | 8e23aa2b179274c9c1b128a8b3daf8d2e24cfd75 (patch) | |
tree | c234e08aa390be9bca941e66e508071e5e44a801 /checkers/similar.py | |
parent | 001469c8272a235b4f62b9b5c3ee248635168ad4 (diff) | |
parent | c2cc31874880d7f0d5bd444c6a3b17fa817e2509 (diff) | |
download | pylint-8e23aa2b179274c9c1b128a8b3daf8d2e24cfd75.tar.gz |
Merge with defaultpython_6
Diffstat (limited to 'checkers/similar.py')
-rw-r--r-- | checkers/similar.py | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/checkers/similar.py b/checkers/similar.py index e5c9300..2cc2e00 100644 --- a/checkers/similar.py +++ b/checkers/similar.py @@ -16,14 +16,17 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. """a similarities / code duplication command line tool and pylint checker """ +from __future__ import print_function import sys -from itertools import izip from logilab.common.ureports import Table from pylint.interfaces import IRawChecker from pylint.checkers import BaseChecker, table_lines_from_stats +import six +from six.moves import zip + class Similar(object): """finds copy-pasted lines of code in a project""" @@ -69,7 +72,7 @@ class Similar(object): else: duplicate.append(set([(lineset1, idx1), (lineset2, idx2)])) sims = [] - for num, ensembles in no_duplicates.iteritems(): + for num, ensembles in six.iteritems(no_duplicates): for couples in ensembles: sims.append((num, couples)) sims.sort() @@ -80,19 +83,19 @@ class Similar(object): """display computed similarities on stdout""" nb_lignes_dupliquees = 0 for num, couples in sims: - print - print num, "similar lines in", len(couples), "files" + print() + print(num, "similar lines in", len(couples), "files") couples = sorted(couples) for lineset, idx in couples: - print "==%s:%s" % (lineset.name, idx) + print("==%s:%s" % (lineset.name, idx)) # pylint: disable=W0631 for line in lineset._real_lines[idx:idx+num]: - print " ", line.rstrip() + print(" ", line.rstrip()) nb_lignes_dupliquees += num * (len(couples)-1) nb_total_lignes = sum([len(lineset) for lineset in self.linesets]) - print "TOTAL lines=%s duplicates=%s percent=%.2f" \ + print("TOTAL lines=%s duplicates=%s percent=%.2f" \ % (nb_total_lignes, nb_lignes_dupliquees, - nb_lignes_dupliquees*100. / nb_total_lignes) + nb_lignes_dupliquees*100. / nb_total_lignes)) def _find_common(self, lineset1, lineset2): """find similarities in the two given linesets""" @@ -107,7 +110,7 @@ class Similar(object): for index2 in find(lineset1[index1]): non_blank = 0 for num, ((_, line1), (_, line2)) in enumerate( - izip(lines1(index1), lines2(index2))): + zip(lines1(index1), lines2(index2))): if line1 != line2: if non_blank > min_lines: yield num, lineset1, index1, lineset2, index2 @@ -323,10 +326,10 @@ def register(linter): def usage(status=0): """display command line usage information""" - print "finds copy pasted blocks in a set of files" - print - print 'Usage: symilar [-d|--duplicates min_duplicated_lines] \ -[-i|--ignore-comments] [--ignore-docstrings] [--ignore-imports] file1...' + print("finds copy pasted blocks in a set of files") + print() + print('Usage: symilar [-d|--duplicates min_duplicated_lines] \ +[-i|--ignore-comments] [--ignore-docstrings] [--ignore-imports] file1...') sys.exit(status) def Run(argv=None): |