def __init__()

in dusty/scanners/sast/gitleaks/legacy.py [0:0]


    def __init__(self, data, scanner):
        dupes = dict()
        self.items = []

        try:
            data = json.load(open(data))
        except:
            return

        show_offender_line = scanner.config.get("show_offender_line", True)
        squash_commits = scanner.config.get("squash_commits", False) or scanner.config.get(
            "hide_commit_author", False)
        commit_line_limit = scanner.config.get("commit_line_limit", 15)

        for item in data:
            title = self.get_title(item)
            if title in dupes:
                if len(dupes[title]["commits"]) < commit_line_limit:
                    dupes[title]["commits"].append(
                        self.get_commit_info(item, show_offender_line, squash_commits))
                else:
                    dupes[title]["skipped_commits"] += 1
            else:
                dupes[title] = {
                    "description": ("\n\n**Info:** ") + item.get('info'),
                    "severity": item.get('severity'),
                    "date": item.get('date'),
                    "rule": item.get('rule'),
                    "file_path": item.get('file'),
                    "skipped_commits": 0,
                    "commits": [self.get_commit_info(item, show_offender_line, squash_commits)]
                }
        commits_head = []
        commits_head.append("\n\n**Commits:**\n\n")
        if squash_commits:
            commits_head.append("| Line |")
            commits_head.append("| ---- |")
        else:
            commits_head.append("| Commit | Author | Line |")
            commits_head.append("| ------ | ------ | ---- |")
        for key, item in dupes.items():
            if len(item.get('commits')) == commit_line_limit:
                if squash_commits:
                    item["commits"].append(f"_And {item.get('skipped_commits')} more_")
                else:
                    item["commits"].append(f"_And {item.get('skipped_commits')} more_ | - | -")
            self.items.append({
                "title": key,
                "description": item.get("description") +
                               "\n".join(commits_head +
                               ["| {} |".format(line) for line in item.get('commits')]),
                "severity": constants.RULES_SEVERITIES.get(item.get('rule'), 'Critical'),
                "file_path": item.get('file_path'),
                "date": item.get('date')
            })