def get(self, project_id, sequence_id): """ Resource to retrieve the casting of shots from given sequence. """ user_service.check_project_access(project_id) shots_service.get_sequence(sequence_id) return breakdown_service.get_sequence_casting(sequence_id)
def get(self, sequence_id): """ Retrieve all scenes related to a given sequence. """ sequence = shots_service.get_sequence(sequence_id) user_service.check_project_access(sequence["project_id"]) return shots_service.get_scenes_for_sequence(sequence_id)
def generate_playlisted_shot_from_task(task_id): """ Generate the data structure of a playlisted shot for a given task. It doesn't persist anything. """ previews = {} task = tasks_service.get_task(task_id) shot = shots_service.get_shot(task["entity_id"]) sequence = shots_service.get_sequence(shot["parent_id"]) preview_files = get_preview_files_for_shot(shot["id"]) task_type_id = task["task_type_id"] playlisted_shot = { "id": shot["id"], "name": shot["name"], "preview_file_task_id": task_id, "sequence_id": sequence["id"], "sequence_name": sequence["name"] } if task_type_id in preview_files and len(preview_files[task_type_id]) > 0: preview_file = preview_files[task_type_id][0] playlisted_shot.update({ "preview_file_id": preview_file["id"], "preview_file_extension": preview_file["extension"], "preview_file_annotations": preview_file["annotations"] }) playlisted_shot["preview_files"] = preview_files return playlisted_shot
def get(self, task_id): task = tasks_service.get_task(task_id) if not permissions.has_manager_permissions(): user_service.check_has_task_related(task["project_id"]) result = task task_type = tasks_service.get_task_type(task["task_type_id"]) result["task_type"] = task_type assigner = persons_service.get_person(task["assigner_id"]) result["assigner"] = assigner project = projects_service.get_project(task["project_id"]) result["project"] = project task_status = tasks_service.get_task_status(task["task_status_id"]) result["task_status"] = task_status entity = tasks_service.get_entity(task["entity_id"]) result["entity"] = entity if entity["parent_id"] is not None: sequence = shots_service.get_sequence(entity["parent_id"]) result["sequence"] = sequence if sequence["parent_id"] is not None: episode = shots_service.get_episode(sequence["parent_id"]) result["episode"] = episode entity_type = tasks_service.get_entity_type(entity["entity_type_id"]) result["entity_type"] = entity_type assignees = [] for assignee_id in task["assignees"]: assignees.append(persons_service.get_person(assignee_id)) result["persons"] = assignees result["type"] = "Task" return result, 200
def get(self, sequence_id): """ Retrieve all scenes related to a given sequence. """ sequence = shots_service.get_sequence(sequence_id) if not permissions.has_manager_permissions(): user_service.check_has_task_related(sequence["project_id"]) return shots_service.get_scenes_for_sequence(sequence_id)
def delete(self, sequence_id): """ Delete given sequence. """ force = self.get_force() sequence = shots_service.get_sequence(sequence_id) user_service.check_manager_project_access(sequence["project_id"]) shots_service.remove_sequence(sequence_id, force=force) return "", 204
def get(self, sequence_id): """ Retrieve all tasks related to a given shot. """ sequence = shots_service.get_sequence(sequence_id) user_service.check_project_access(sequence["project_id"]) relations = self.get_relations() return tasks_service.get_tasks_for_sequence(sequence_id, relations=relations)
def get(self, sequence_id): """ Retrieve all shot entries for a given sequence. Filters can be specified in the query string. """ sequence = shots_service.get_sequence(sequence_id) user_service.check_project_access(sequence["project_id"]) criterions = query.get_query_criterions_from_request(request) criterions["parent_id"] = sequence_id return shots_service.get_shots(criterions)
def get(self): """ Retrieve all shot entries. Filters can be specified in the query string. """ criterions = query.get_query_criterions_from_request(request) if "sequence_id" in criterions: sequence = shots_service.get_sequence(criterions["sequence_id"]) criterions["project_id"] = sequence["project_id"] user_service.check_project_access(criterions) return shots_service.get_shots(criterions)
def get(self, sequence_id): """ Return tasks related to given sequence for current user. --- tags: - User parameters: - in: path name: sequence_id required: True schema: type: UUID example: a24a6ea4-ce75-4665-a070-57453082c25 responses: 200: description: Tasks related to given sequence """ shots_service.get_sequence(sequence_id) return user_service.get_tasks_for_entity(sequence_id)
def get(self, sequence_id): """ Return scenes related to given sequence if the current user has access to it. --- tags: - User parameters: - in: path name: sequence_id required: True schema: type: UUID example: a24a6ea4-ce75-4665-a070-57453082c25 responses: 200: description: Scenes related to given sequence """ shots_service.get_sequence(sequence_id) return user_service.get_scenes_for_sequence(sequence_id)
def get(self, sequence_id): """ Retrieve all shot entries for a given sequence. Filters can be specified in the query string. """ sequence = shots_service.get_sequence(sequence_id) if not permissions.has_manager_permissions(): user_service.check_has_task_related(sequence["project_id"]) criterions = query.get_query_criterions_from_request(request) criterions["parent_id"] = sequence_id return shots_service.get_shots(criterions)
def get(self, sequence_id): """ Retrieve all shot entries for a given sequence. Filters can be specified in the query string. """ sequence = shots_service.get_sequence(sequence_id) user_service.check_project_access(sequence["project_id"]) criterions = query.get_query_criterions_from_request(request) criterions["parent_id"] = sequence_id if permissions.has_vendor_permissions(): criterions["assigned_to"] = persons_service.get_current_user()["id"] return shots_service.get_shots(criterions)
def get(self, sequence_id): """ Retrieve all tasks related to a given sequence. """ sequence = shots_service.get_sequence(sequence_id) user_service.check_project_access(sequence["project_id"]) user_service.check_entity_access(sequence["id"]) if permissions.has_vendor_permissions(): raise permissions.PermissionDenied relations = self.get_relations() return tasks_service.get_shot_tasks_for_sequence(sequence_id, relations=relations)
def get_base_shot_for_playlist(entity, task_id): shot = shots_service.get_shot(entity["id"]) sequence = shots_service.get_sequence(shot["parent_id"]) playlisted_entity = { "id": shot["id"], "name": shot["name"], "preview_file_task_id": task_id, "sequence_id": sequence["id"], "sequence_name": sequence["name"], "parent_name": sequence["name"], } return playlisted_entity
def get(self): """ Retrieve all shot entries. Filters can be specified in the query string. """ criterions = query.get_query_criterions_from_request(request) if "sequence_id" in criterions: sequence = shots_service.get_sequence(criterions["sequence_id"]) criterions["project_id"] = sequence["project_id"] criterions["parent_id"] = sequence["id"] del criterions["sequence_id"] if permissions.has_vendor_permissions(): criterions["assigned_to"] = persons_service.get_current_user()["id"] user_service.check_project_access(criterions.get("project_id", None)) return shots_service.get_shots(criterions)
def generate_playlisted_shot_from_task(task_id): previews = {} task = tasks_service.get_task(task_id) shot = shots_service.get_shot(task["entity_id"]) sequence = shots_service.get_sequence(shot["parent_id"]) preview_files = get_preview_files_for_task(task_id) task_type_id = task["task_type_id"] shot["preview_file_task_id"] = task_id shot["sequence_id"] = sequence["id"] shot["sequence_name"] = sequence["name"] if len(preview_files) > 0: previews[task_type_id] = get_playlist_preview_file_list(preview_files) shot["preview_file_id"] = previews[task_type_id][0]["id"] shot["preview_file_extension"] = previews[task_type_id][0]["extension"] shot["preview_file_annotations"] = previews[task_type_id][0][ "annotations"] shot["preview_files"] = previews return shot
def get_full_task(task_id): task = get_task_with_relations(task_id) task_type = get_task_type(task["task_type_id"]) project = projects_service.get_project(task["project_id"]) task_status = get_task_status(task["task_status_id"]) entity = entities_service.get_entity(task["entity_id"]) entity_type = entities_service.get_entity_type(entity["entity_type_id"]) assignees = [ persons_service.get_person(assignee_id) for assignee_id in task["assignees"] ] task.update({ "entity": entity, "task_type": task_type, "task_status": task_status, "project": project, "entity_type": entity_type, "persons": assignees, "type": "Task", }) try: assigner = persons_service.get_person(task["assigner_id"]) task["assigner"] = assigner except PersonNotFoundException: pass if entity["parent_id"] is not None: if entity_type["name"] == "Edit": episode_id = entity["parent_id"] else: sequence = shots_service.get_sequence(entity["parent_id"]) task["sequence"] = sequence episode_id = sequence["parent_id"] if episode_id is not None: episode = shots_service.get_episode(episode_id) task["episode"] = episode return task
def get(self, task_id): task = tasks_service.get_task(task_id) if not permissions.has_manager_permissions(): user_service.check_has_task_related(task["project_id"]) task_type = tasks_service.get_task_type(task["task_type_id"]) project = projects_service.get_project(task["project_id"]) task_status = tasks_service.get_task_status(task["task_status_id"]) entity = entities_service.get_entity(task["entity_id"]) entity_type = entities_service.get_entity_type( entity["entity_type_id"]) assignees = [] for assignee_id in task["assignees"]: assignees.append(persons_service.get_person(assignee_id)) task.update({ "entity": entity, "task_type": task_type, "task_status": task_status, "project": project, "entity_type": entity_type, "persons": assignees, "type": "Task" }) try: assigner = persons_service.get_person(task["assigner_id"]) task["assigner"] = assigner except PersonNotFoundException: pass if entity["parent_id"] is not None: sequence = shots_service.get_sequence(entity["parent_id"]) task["sequence"] = sequence if sequence["parent_id"] is not None: episode = shots_service.get_episode(sequence["parent_id"]) task["episode"] = episode return task, 200
def _create_episode_casting_link(entity, asset_id, nb_occurences=1, label=""): """ When an asset is casted in a shot, the asset is automatically casted in the episode. """ if shots_service.is_shot(entity): sequence = shots_service.get_sequence(entity["parent_id"]) if sequence["parent_id"] is not None: link = EntityLink.get_by(entity_in_id=sequence["parent_id"], entity_out_id=asset_id) if link is None: link = EntityLink.create( entity_in_id=sequence["parent_id"], entity_out_id=asset_id, nb_occurences=1, label=label, ) events.emit( "asset:update", {"asset_id": asset_id}, project_id=entity["project_id"], ) return entity
def test_get_sequence(self): self.assertEquals( str(self.sequence.id), shots_service.get_sequence(self.sequence.id)["id"] )
def get(self, sequence_id): shots_service.get_sequence(sequence_id) return user_service.get_task_types_for_entity(sequence_id)
def get(self, sequence_id): shots_service.get_sequence(sequence_id) return user_service.get_scenes_for_sequence(sequence_id)
def get_tasks_for_sequence(sequence_id): """ Get all tasks for given sequence. """ sequence = shots_service.get_sequence(sequence_id) return get_task_dicts_for_entity(sequence["id"])
def get_tasks_for_sequence(sequence_id, relations=False): """ Get all tasks for given sequence. """ sequence = shots_service.get_sequence(sequence_id) return get_task_dicts_for_entity(sequence["id"], relations=relations)
def get(self, sequence_id): shots_service.get_sequence(sequence_id) return user_service.get_sequence_shots(sequence_id)
def get_tasks_for_sequence(sequence_id): sequence = shots_service.get_sequence(sequence_id) return get_task_dicts_for_entity(sequence["id"])