Browse Source

Add celery task for exporting dataset

pull/1310/head
Hironsan 3 years ago
parent
commit
1309c07af5
1 changed files with 12 additions and 1 deletions
  1. 13
      app/api/tasks.py

13
app/api/tasks.py

@ -7,7 +7,8 @@ from django.contrib.auth import get_user_model
from django.shortcuts import get_object_or_404
from .models import Document, Label, Project
from .serializers import DocumentSerializer, LabelSerializer
from .views.download.factory import create_repository, create_writer
from .views.download.service import ExportApplicationService
from .views.upload.exception import FileParseException
from .views.upload.factory import (get_data_class, get_dataset_class,
get_label_class)
@ -123,3 +124,13 @@ def injest_data(user_id, project_id, filenames, format: str, **kwargs):
buffer.clear()
return response
@shared_task
def export_dataset(project_id, format: str, export_approved=False):
project = get_object_or_404(Project, pk=project_id)
repository = create_repository(project)
writer = create_writer(format)(settings.MEDIA_ROOT)
service = ExportApplicationService(repository, writer)
filepath = service.export(export_approved)
return filepath
Loading…
Cancel
Save