|
|
@ -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 |