66# See https://aboutcode.org for more information about AboutCode FOSS projects.
77#
88
9- import io
109import json
11- import zipfile
1210from collections import Counter
1311from operator import itemgetter
1412from urllib .parse import quote_plus
@@ -1635,27 +1633,6 @@ def component_create_ajax_view(request):
16351633 return HttpResponse (rendered_form )
16361634
16371635
1638- def scan_data_as_zip_response (scancodeio , project_uuid , filename ):
1639- """Return a FileResponse of a package scan data (results, summary) as a zip file."""
1640- scan_results_url = scancodeio .get_scan_action_url (project_uuid , "results" )
1641- scan_results = scancodeio .fetch_scan_data (scan_results_url )
1642- scan_summary_url = scancodeio .get_scan_action_url (project_uuid , "summary" )
1643- scan_summary = scancodeio .fetch_scan_data (scan_summary_url )
1644-
1645- in_memory_zip = io .BytesIO ()
1646- with zipfile .ZipFile (in_memory_zip , "a" , zipfile .ZIP_DEFLATED , False ) as zipf :
1647- zipf .writestr (f"{ filename } _scan.json" , json .dumps (scan_results , indent = 2 ))
1648- zipf .writestr (f"{ filename } _summary.json" , json .dumps (scan_summary , indent = 2 ))
1649- in_memory_zip .seek (0 )
1650-
1651- return FileResponse (
1652- in_memory_zip ,
1653- filename = filename ,
1654- as_attachment = True ,
1655- content_type = "application/zip" ,
1656- )
1657-
1658-
16591636@login_required
16601637def send_scan_data_as_file_view (request , project_uuid , filename ):
16611638 dataspace = request .user .dataspace
@@ -1666,8 +1643,13 @@ def send_scan_data_as_file_view(request, project_uuid, filename):
16661643 if not scancodeio .is_available ():
16671644 raise Http404 ("The ScanCode.io service is not available" )
16681645
1669- filename = f"{ filename } _scan.zip"
1670- return scan_data_as_zip_response (scancodeio , project_uuid , filename )
1646+ scan_data_as_zip = scancodeio .scan_data_as_zip (project_uuid , filename )
1647+ return FileResponse (
1648+ scan_data_as_zip ,
1649+ filename = f"{ filename } _scan.zip" ,
1650+ as_attachment = True ,
1651+ content_type = "application/zip" ,
1652+ )
16711653
16721654
16731655@login_required
0 commit comments