def write_items()

in src/advisor/reports/csv_issue_type_count_by_file_report.py [0:0]


    def write_items(self, output_file, items):
        issue_types = self.issue_type_config.filter_issue_types(ISSUE_TYPES)
        csv_writer = csv.writer(output_file)
        header = ['filename'] + [issue_type.display_name() for issue_type in issue_types]
        csv_writer.writerow(header)
        sorted_source_files = sorted(self.source_files)
        issue_type_totals_by_file = {}
        for source_file in sorted_source_files:
            issue_type_totals = {issue_type: 0 for issue_type in ISSUE_TYPES.values()}
            issue_type_totals_by_file[source_file] = issue_type_totals
        for item in items:
            issue_type_totals_by_file[item.filename][item.__class__] += 1
        for source_file in sorted_source_files:
            issue_type_totals = issue_type_totals_by_file[source_file]
            row = [source_file] + [issue_type_totals[issue_type] for issue_type in issue_types]
            csv_writer.writerow(row)