Commit 2048fd3e authored by Ondřej Borýsek's avatar Ondřej Borýsek
Browse files

Extract convert_findings_to_scan2report_dicts

parent 7d4e42fa
Loading
Loading
Loading
Loading
+16 −10
Original line number Original line Diff line number Diff line
@@ -92,6 +92,21 @@ def export_audit_raw(audit_id: str):
    return response_as_download(json_result, f'{secure_filename(audit_data["name"])}.json', 'json')
    return response_as_download(json_result, f'{secure_filename(audit_data["name"])}.json', 'json')




def convert_findings_to_scan2report_dicts(audit_id: str, locale: str) -> List[dict]:
    findings = get_findings_from_audit(audit_id)
    findings_scan2report_dicts: List[Dict] = []

    for single_finding_raw in tqdm(findings):
        single_finding = PwndocTemplateManager.parse_single_pwndoc_locale(single_finding_raw)
        single_finding.set_is_template(False)
        single_finding.locale = locale

        single_finding_scan2report_raw = PwndocConverter.convert_to_single_scan2report_dict(single_finding)
        findings_scan2report_dicts.append(single_finding_scan2report_raw)

    return findings_scan2report_dicts


@bp.route("/export_findings/<audit_id>/<file_format>", methods=["GET"])
@bp.route("/export_findings/<audit_id>/<file_format>", methods=["GET"])
def export_findings(audit_id: str, file_format: str):
def export_findings(audit_id: str, file_format: str):
    SUPPORTED_FILE_FORMATS = ['json', 'csv']
    SUPPORTED_FILE_FORMATS = ['json', 'csv']
@@ -105,16 +120,7 @@ def export_findings(audit_id: str, file_format: str):
    locale: str = audit_data['language']
    locale: str = audit_data['language']
    audit_name: str = audit_data['name']
    audit_name: str = audit_data['name']


    findings = get_findings_from_audit(audit_id)
    findings_scan2report_dicts = convert_findings_to_scan2report_dicts(audit_id, locale)
    findings_scan2report_dicts: List[Dict] = []

    for single_finding_raw in tqdm(findings):
        single_finding = PwndocTemplateManager.parse_single_pwndoc_locale(single_finding_raw)
        single_finding.set_is_template(False)
        single_finding.locale = locale

        single_finding_scan2report_raw = PwndocConverter.convert_to_single_scan2report_dict(single_finding)
        findings_scan2report_dicts.append(single_finding_scan2report_raw)


    if file_format == 'json':
    if file_format == 'json':
        json_result = json.dumps(findings_scan2report_dicts, indent=4)
        json_result = json.dumps(findings_scan2report_dicts, indent=4)