def process_upload(self): if hasattr(self.uploaded_file, 'temporary_file_path') and settings.SHARED_DRIVE_CONF.temp_dir: processing_id = uuid.uuid4().hex path = settings.SHARED_DRIVE_CONF.get_temp_file(suffix='.upload') shutil.move(self.uploaded_file.temporary_file_path(), path) status = BulkMultimediaStatusCacheNfs(processing_id, path) status.save() else: self.uploaded_file.file.seek(0) saved_file = expose_cached_download( self.uploaded_file.file.read(), expiry=BulkMultimediaStatusCache.cache_expiry, file_extension=file_extention_from_filename(self.uploaded_file.name), ) processing_id = saved_file.download_id status = BulkMultimediaStatusCache(processing_id) status.save() process_bulk_upload_zip.delay(processing_id, self.domain, self.app_id, username=self.username, share_media=self.share_media, license_name=self.license_used, author=self.author, attribution_notes=self.attribution_notes) return status.get_response()