Method: pylint.checkers.similar.Similar._get_similarity_report
Calls: 16, Exceptions: 0, Paths: 2Back
Path 1: 9 calls (0.56)
list (9)
"\n10 similar lines in 2 files\n==/Users/andrehora/Documents/git/projects-pathspotter/pylint/tests/checkers/../input/similar1:[0:11]\n==/Users/andreho...
1def _get_similarity_report(
2 self, similarities: list[tuple[int, set[LinesChunkLimits_T]]]
3 ) -> str:
4 """Create a report from similarities."""
5 report: str = ""
6 duplicated_line_number: int = 0
7 for number, couples in similarities:
8 report += f"\n{number} similar lines in {len(couples)} files\n"
9 couples_l = sorted(couples)
10 line_set = start_line = end_line = None
11 for line_set, start_line, end_line in couples_l:
12 report += f"=={line_set.name}:[{start_line}:{end_line}]\n"
13 if line_set:
14 for line in line_set._real_lines[start_line:end_line]:
15 report += f" {line.rstrip()}\n" if line.rstrip() else "\n"
16 duplicated_line_number += number * (len(couples_l) - 1)
17 total_line_number: int = sum(len(lineset) for lineset in self.linesets)
18 report += (
19 f"TOTAL lines={total_line_number} "
20 f"duplicates={duplicated_line_number} "
21 f"percent={duplicated_line_number * 100.0 / total_line_number:.2f}\n"
22 )
23 return report
Path 2: 7 calls (0.44)
[] (7)
'TOTAL lines=130 duplicates=0 percent=0.00\n' (2) 'TOTAL lines=62 duplicates=0 percent=0.00\n' (1) 'TOTAL lines=16 duplicates=0 percent=0.00\n' (1) 'T...
1def _get_similarity_report(
2 self, similarities: list[tuple[int, set[LinesChunkLimits_T]]]
3 ) -> str:
4 """Create a report from similarities."""
5 report: str = ""
6 duplicated_line_number: int = 0
7 for number, couples in similarities:
8 report += f"\n{number} similar lines in {len(couples)} files\n"
9 couples_l = sorted(couples)
10 line_set = start_line = end_line = None
11 for line_set, start_line, end_line in couples_l:
12 report += f"=={line_set.name}:[{start_line}:{end_line}]\n"
13 if line_set:
14 for line in line_set._real_lines[start_line:end_line]:
15 report += f" {line.rstrip()}\n" if line.rstrip() else "\n"
16 duplicated_line_number += number * (len(couples_l) - 1)
17 total_line_number: int = sum(len(lineset) for lineset in self.linesets)
18 report += (
19 f"TOTAL lines={total_line_number} "
20 f"duplicates={duplicated_line_number} "
21 f"percent={duplicated_line_number * 100.0 / total_line_number:.2f}\n"
22 )
23 return report