def test_get_task_dicts_for_entity_utf8(self): start_date = fields.get_date_object("2017-02-20") due_date = fields.get_date_object("2017-02-28") real_start_date = fields.get_date_object("2017-02-22") self.working_file.delete() self.output_file.delete() self.task.delete() self.task_type = TaskType(name="Modélisation", color="#FFFFFF", department_id=self.department.id) self.task_type.save() self.task = Task(name="Première Tâche", project_id=self.project.id, task_type_id=self.task_type.id, task_status_id=self.task_status.id, entity_id=self.asset.id, assignees=[self.person], assigner_id=self.assigner.id, duration=50, estimation=40, start_date=start_date, due_date=due_date, real_start_date=real_start_date) self.task.save() tasks = tasks_service.get_task_dicts_for_entity(self.asset.id) self.assertEqual(len(tasks), 1) self.assertEqual(tasks[0]["name"], u"Première Tâche") self.assertEqual(tasks[0]["task_type_name"], u"Modélisation")
def get_preview_files_for_entity(entity_id): """ Get all preview files available for given entity. """ tasks = tasks_service.get_task_dicts_for_entity(entity_id) previews = {} for task in tasks: preview_files = (PreviewFile.query.filter_by( task_id=task["id"]).filter_by( extension="mp4").join(Task).join(TaskType).order_by( TaskType.priority.desc()).order_by(TaskType.name).order_by( PreviewFile.revision.desc()).all()) task_type_id = task["task_type_id"] if len(preview_files) > 0: previews[task_type_id] = [ { "id": str(preview_file.id), "revision": preview_file.revision, "extension": preview_file.extension, "task_id": str(preview_file.task_id), } for preview_file in preview_files ] # Do not add too much field to avoid building too big responses return previews
def get_preview_files_for_entity(entity_id): """ Get all preview files available for given shot. """ tasks = tasks_service.get_task_dicts_for_entity(entity_id) previews = {} for task in tasks: preview_files = (PreviewFile.query.filter_by( task_id=task["id"]).join(Task).join(TaskType).order_by( TaskType.priority.desc()).order_by(TaskType.name).order_by( PreviewFile.revision.desc()).order_by( PreviewFile.created_at).all()) task_type_id = task["task_type_id"] if len(preview_files) > 0: preview_files = fields.serialize_models(preview_files) preview_files = mix_preview_file_revisions(preview_files) previews[task_type_id] = [ { "id": preview_file["id"], "revision": preview_file["revision"], "extension": preview_file["extension"], "annotations": preview_file["annotations"], "previews": preview_file["previews"], "created_at": preview_file["created_at"], "task_id": preview_file["task_id"] } for preview_file in preview_files ] # Do not add too much field to avoid building too big responses return previews
def test_get_dict_tasks_for_asset(self): tasks = tasks_service.get_task_dicts_for_entity(self.asset.id) self.assertEqual(len(tasks), 1) self.assertEqual(tasks[0]["id"], str(self.task.id)) self.assertEqual(tasks[0]["task_type_name"], str("Shaders")) self.assertEqual(tasks[0]["entity_name"], str("Tree"))