def convert()

in src/services/report_convertors.py [0:0]


    def convert(self, collection: 'ShardsCollection') -> Findings:
        findings = []
        meta = collection.meta

        for part in collection.iter_parts():
            if not part.resources:
                continue
            pm = meta.get(part.policy) or {}  # part meta
            p = part.policy
            pm2 = self.meta.rule(
                p, comment=pm.get('comment'), resource=pm.get('resource')
            )

            # tags
            tags = [part.location, pm.get('resource')]
            if service_section := pm2.service_section:
                tags.append(service_section)

            match self._attachment:
                case 'xlsx':
                    extra = {
                        'description': pm2.article,
                        'files': [
                            {
                                'title': f'{p}.xlsx',
                                'data': self._make_xlsx_file(part.resources),
                            }
                        ],
                    }
                case 'json':
                    extra = {
                        'description': pm2.article,
                        'files': [
                            {
                                'title': f'{p}.json',
                                'data': self._make_json_file(part.resources),
                            }
                        ],
                    }
                case 'csv':
                    extra = {
                        'description': pm2.article,
                        'files': [
                            {
                                'title': f'{p}.csv',
                                'data': self._make_csv_file(part.resources),
                            }
                        ],
                    }
                case _:  # None or some unexpected
                    table = self._make_table(part.resources)
                    extra = {'description': f'{pm2.article}\n{table}'}

            findings.append(
                {
                    'title': pm['description'] if 'description' in pm else p,
                    'date': datetime.fromtimestamp(
                        part.timestamp, tz=timezone.utc
                    ).isoformat(),
                    'severity': pm2.severity.value,
                    'mitigation': pm2.remediation,
                    'impact': pm2.impact,
                    'references': self._make_references(pm2.standard),
                    'tags': tags,
                    'vuln_id_from_tool': p,
                    'service': pm2.service,
                    **extra,
                }
            )
        return {'findings': findings}