Skip to content

Commit

Permalink
Merge pull request #287 from HistoricEngland/cs_62373_main_merge_tile…
Browse files Browse the repository at this point in the history
…excelexport

Add 7.5 tile excel export fix
  • Loading branch information
aj-he authored Jan 22, 2024
2 parents 72f252a + ddcb848 commit 7c4b0c8
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 12 deletions.
18 changes: 12 additions & 6 deletions arches/app/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ def export_search_results(self, userid, request_values, format, report_link):
from arches.app.models.system_settings import settings
from arches.app.utils.message_contexts import return_message_context

logger = logging.getLogger(__name__)
settings.update_from_db()

create_user_task_record(self.request.id, self.name, userid)
Expand All @@ -71,12 +72,17 @@ def export_search_results(self, userid, request_values, format, report_link):
exporter = SearchResultsExporter(search_request=new_request)
export_files, export_info = exporter.export(format, report_link)
wb = export_files[0]["outputfile"]
with NamedTemporaryFile() as tmp:
wb.save(tmp.name)
tmp.seek(0)
stream = tmp.read()
export_files[0]["outputfile"] = tmp
exportid = exporter.write_export_zipfile(export_files, export_info, export_name)
try:
with NamedTemporaryFile(delete=False) as tmp:
wb.save(tmp.name)
tmp.seek(0)
stream = tmp.read()
export_files[0]["outputfile"] = tmp
exportid = exporter.write_export_zipfile(export_files, export_info, export_name)
except OSError:
logger.error("Temp file could not be created.")
raise
os.unlink(tmp.name)
else:
exporter = SearchResultsExporter(search_request=new_request)
files, export_info = exporter.export(format, report_link)
Expand Down
18 changes: 12 additions & 6 deletions arches/app/views/search.py
Original file line number Diff line number Diff line change
Expand Up @@ -272,12 +272,18 @@ def export_results(request):
exporter = SearchResultsExporter(search_request=request)
export_files, export_info = exporter.export(format, report_link)
wb = export_files[0]["outputfile"]
with NamedTemporaryFile(dir=settings.TILE_EXCEL_EXPORT_TEMP_DIRECTORY,delete=settings.TILE_EXCEL_EXPORT_TEMP_FILE_DELETE) as tmp:
wb.save(tmp.name)
tmp.seek(0)
stream = tmp.read()
export_files[0]["outputfile"] = tmp
return zip_utils.zip_response(export_files, zip_file_name=f"{settings.APP_NAME}_export.zip")
try:
with NamedTemporaryFile(delete=False) as tmp:
wb.save(tmp.name)
tmp.seek(0)
stream = tmp.read()
export_files[0]["outputfile"] = tmp
result = zip_utils.zip_response(export_files, zip_file_name=f"{settings.APP_NAME}_export.zip")
except OSError:
logger.error("Temp file could not be created.")
raise
os.unlink(tmp.name)
return result
else:
exporter = SearchResultsExporter(search_request=request)
export_files, export_info = exporter.export(format, report_link)
Expand Down

0 comments on commit 7c4b0c8

Please sign in to comment.