123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import glob
- import os
- from django.conf import settings
- from django.http import HttpResponse
- from multiprocessing import Process
- from .models import AutomaticImport
- from volumes.models import Volume
- from volumes.processing.service import SliceGenerator
- from mongoengine import ValidationError
- import json
- import pdb
- DEFAULT_SLICE_FOLDER = 'slices_8bit'
- def trigger(request):
- volumes_to_process = []
- paths = sorted(glob.glob(os.path.join(settings.DEFAULT_IMPORT_PATH, '*')))
- for path in paths:
- automatic_import = AutomaticImport.objects(path=path).first()
- if(automatic_import is None):
- volume = Volume()
- volume.imageSequence = True
- volume.path = os.path.join(path, DEFAULT_SLICE_FOLDER)
- volume.name = path.replace(settings.DEFAULT_IMPORT_PATH, '')
- volume = volume.save()
- volumes_to_process.append(volume.id)
- automatic_import = AutomaticImport()
- automatic_import.path = path
- automatic_import.volume_id = volume.id
- if len(volumes_to_process) > 0:
- process = Process(target=SliceGenerator.generateListOfVolumes, args=(volumes_to_process,))
- process.start()
- jsonDump = json.dumps({
- 'triggered': True,
- 'number_of_new_volumes': len(volumes_to_process)
- })
- return HttpResponse(jsonDump, content_type="json")
- def clear(request):
- models = AutomaticImport.objects()
- for automatic_import in models:
- automatic_import.delete()
- return HttpResponse(json.dumps({'deleted': len(models)}), content_type="json")
|