diff --git a/sketch_map_tool/upload_processing/count_overlaps.py b/sketch_map_tool/upload_processing/count_overlaps.py index 31fcd23f..a1d40951 100644 --- a/sketch_map_tool/upload_processing/count_overlaps.py +++ b/sketch_map_tool/upload_processing/count_overlaps.py @@ -2,6 +2,7 @@ from tempfile import NamedTemporaryFile from qgis.core import (QgsProject, QgsVectorLayer, QgsCoordinateReferenceSystem, QgsApplication, QgsProcessingFeatureSourceDefinition, QgsProcessingFeedback) +from zipfile import ZipFile def create_qgis_project(markings: BytesIO): @@ -16,5 +17,9 @@ def create_qgis_project(markings: BytesIO): project.setCrs(reference_system) outfile = NamedTemporaryFile(suffix=".qgs") project.write(outfile.name) - with open(outfile.name, "rb") as f: - return BytesIO(f.read()) + buffer = BytesIO() + with ZipFile(buffer, "w") as zip_file, open(infile.name, "rb") as f_markings, open(outfile.name, "rb") as f_qgis: + zip_file.writestr(infile.name.replace("tmp/", "./"), f_markings.read()) + zip_file.writestr(f"project.qgs", f_qgis.read()) + buffer.seek(0) + return buffer