Skip to content
This repository has been archived by the owner on May 23, 2023. It is now read-only.

fix sca export filename #368

Merged
merged 1 commit into from
Dec 30, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions iast/views/sca_export.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@
import copy
from django.utils.translation import gettext_lazy as _
from django.utils.translation import get_language
from dongtai.models.project import IastProject
from dongtai.models.project_version import IastProjectVersion

class ScaExportSer(ScaSerializer):
class Meta:
model = Asset
Expand Down Expand Up @@ -74,7 +77,7 @@ def get(self, request):
'agent_name'
]
zh_headers = [
'组件名称', '组件版本', '漏洞名称', '风险等级', '组路径', 'CVE 编号', 'CWE 编号', '项目名称',
'组件名称', '组件版本', '漏洞名称', '风险等级', '组件路径', 'CVE 编号', 'CWE 编号', '项目名称',
'项目版本', '语言', 'Agent 名称'
]
dic = {}
Expand All @@ -100,7 +103,7 @@ def get(self, request):
get_cve(svd['cve_id']),
'vulcwe':
get_cwe(svd['cwe_id']),
'vulname':
'vul_name':
svd['title'],
})
datas.append(data_)
Expand All @@ -116,13 +119,21 @@ def get(self, request):
rows.append(data_row)
fileuuid = uuid.uuid1()
i18n_headers = zh_headers if get_language() == 'zh' else headers
filename = '组件报告' if get_language() == 'zh' else 'SCA REPORT'
with open(f'/tmp/{fileuuid}.csv', 'w') as csv_file:
writer = csv.writer(csv_file, delimiter=',')
writer.writerow(i18n_headers)
for row in rows:
writer.writerow(row)
project_name = project_name if project_name else IastProject.objects.filter(
pk=project_id).values_list('name', flat=True).first()
project_version_id = current_project_version.get("version_id", 0)
project_version_name = IastProjectVersion.objects.filter(
pk=project_version_id).values_list(
'version_name',
flat=True).first() if project_version_id else ''
response = FileResponse(open(f'/tmp/{fileuuid}.csv', 'rb'),
filename='sca.csv')
filename=f'{filename}-{project_name}-{project_version_name}.csv')
return response


Expand Down