From 0446778f9c5a2f00255e283ea8654dacbbdc0676 Mon Sep 17 00:00:00 2001 From: NarayanBavisetti Date: Tue, 15 Aug 2023 18:13:10 +0530 Subject: [PATCH 1/2] chore: file name changed for exported issues --- apiserver/plane/bgtasks/export_task.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/apiserver/plane/bgtasks/export_task.py b/apiserver/plane/bgtasks/export_task.py index 353a65076cd..e9ca078bcca 100644 --- a/apiserver/plane/bgtasks/export_task.py +++ b/apiserver/plane/bgtasks/export_task.py @@ -4,7 +4,6 @@ import json import boto3 import zipfile -from datetime import datetime # Django imports from django.conf import settings @@ -46,11 +45,9 @@ def create_xlsx_file(data): workbook = Workbook() sheet = workbook.active - for row in data: sheet.append(row) - xlsx_buffer = io.BytesIO() workbook.save(xlsx_buffer) xlsx_buffer.seek(0) @@ -75,7 +72,7 @@ def upload_to_s3(zip_file, workspace_id, token_id): aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, config=Config(signature_version="s3v4"), ) - file_name = f"{workspace_id}/issues-{datetime.now().date()}.zip" + file_name = f"{workspace_id}/issues-{token_id}.zip" s3.upload_fileobj( zip_file, From 9aaa068e567b85ec0acb5486f4eb74fa166761f6 Mon Sep 17 00:00:00 2001 From: NarayanBavisetti Date: Wed, 16 Aug 2023 09:10:33 +0530 Subject: [PATCH 2/2] fix: added slug in filename for export issues --- apiserver/plane/api/views/exporter.py | 1 + apiserver/plane/bgtasks/export_task.py | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apiserver/plane/api/views/exporter.py b/apiserver/plane/api/views/exporter.py index f158f783d00..7e14aa82f5a 100644 --- a/apiserver/plane/api/views/exporter.py +++ b/apiserver/plane/api/views/exporter.py @@ -48,6 +48,7 @@ def post(self, request, slug): project_ids=project_ids, token_id=exporter.token, multiple=multiple, + slug=slug, ) return Response( { diff --git a/apiserver/plane/bgtasks/export_task.py b/apiserver/plane/bgtasks/export_task.py index e9ca078bcca..d8cb9f0cdc3 100644 --- a/apiserver/plane/bgtasks/export_task.py +++ b/apiserver/plane/bgtasks/export_task.py @@ -7,6 +7,7 @@ # Django imports from django.conf import settings +from django.utils import timezone # Third party imports from celery import shared_task @@ -64,7 +65,7 @@ def create_zip_file(files): return zip_buffer -def upload_to_s3(zip_file, workspace_id, token_id): +def upload_to_s3(zip_file, workspace_id, token_id, slug): s3 = boto3.client( "s3", region_name="ap-south-1", @@ -72,7 +73,7 @@ def upload_to_s3(zip_file, workspace_id, token_id): aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY, config=Config(signature_version="s3v4"), ) - file_name = f"{workspace_id}/issues-{token_id}.zip" + file_name = f"{workspace_id}/export-{slug}-{token_id[:6]}-{timezone.now()}.zip" s3.upload_fileobj( zip_file, @@ -232,7 +233,7 @@ def generate_xlsx(header, project_id, issues, files): @shared_task -def issue_export_task(provider, workspace_id, project_ids, token_id, multiple): +def issue_export_task(provider, workspace_id, project_ids, token_id, multiple, slug): try: exporter_instance = ExporterHistory.objects.get(token=token_id) exporter_instance.status = "processing" @@ -330,7 +331,7 @@ def issue_export_task(provider, workspace_id, project_ids, token_id, multiple): ) zip_buffer = create_zip_file(files) - upload_to_s3(zip_buffer, workspace_id, token_id) + upload_to_s3(zip_buffer, workspace_id, token_id, slug) except Exception as e: exporter_instance = ExporterHistory.objects.get(token=token_id)