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