TimeAlbumController.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from django.views import View
  2. from CeleryTask.TimeAlbumTask import generate_video
  3. from Object.ResponseObject import ResponseObject
  4. class TimeAlbum(View):
  5. def get(self, request, *args, **kwargs):
  6. request.encoding = 'utf-8'
  7. operation = kwargs.get('operation')
  8. request_dict = request.GET
  9. return self.validation(request, request_dict, operation)
  10. def post(self, request, *args, **kwargs):
  11. request.encoding = 'utf-8'
  12. operation = kwargs.get('operation')
  13. request_dict = request.POST
  14. return self.validation(request, request_dict, operation)
  15. def validation(self, request, request_dict, operation):
  16. language = request_dict.get('language', 'en')
  17. response = ResponseObject(language)
  18. if operation == 'createTimeAlbum':
  19. return self.create_time_album(response)
  20. else:
  21. return response.json(414)
  22. @staticmethod
  23. def create_time_album(response):
  24. # 从AWS桶获取图片链接
  25. # 下载图片保存地址
  26. # 收集图片文件路径
  27. image_files = ['static/temp/image1.jpg', 'static/temp/image2.jpg',
  28. 'static/temp/image3.jpg', 'static/temp/image4.jpg',
  29. 'static/temp/image5.jpg']
  30. output_path = 'static/temp'
  31. # 调用 Celery 任务
  32. generate_video.delay(image_files, output_path)
  33. return response.json(0)