def test_get_shots_and_tasks(self): self.generate_fixture_person() self.generate_fixture_assigner() self.generate_fixture_department() self.generate_fixture_task_status() self.generate_fixture_task_type() self.generate_fixture_shot_task() self.generate_fixture_shot_task(name="Secondary") self.generate_fixture_shot("P02") shots = shots_service.get_shots_and_tasks() shots = sorted(shots, key=lambda s: s["name"]) self.assertEqual(len(shots), 2) self.assertEqual(len(shots[0]["tasks"]), 2) self.assertEqual(len(shots[1]["tasks"]), 0) self.assertEqual(shots[0]["episode_id"], str(self.episode.id)) self.assertEqual(shots[0]["sequence_id"], str(self.sequence.id)) self.assertEqual( shots[0]["tasks"][0]["assignees"][0], str(self.person.id) ) self.assertEqual( shots[0]["tasks"][0]["task_status_id"], str(self.shot_task.task_status_id) ) self.assertEqual( shots[0]["tasks"][0]["task_type_id"], str(self.shot_task.task_type_id) )
def get(self): """ Retrieve all shots, adds project name and asset type name and all related tasks. """ criterions = query.get_query_criterions_from_request(request) user_service.check_project_access(criterions.get("project_id", None)) return shots_service.get_shots_and_tasks(criterions)
def get(self): """ Retrieve all shots, adds project name and asset type name and all related tasks. """ criterions = query.get_query_criterions_from_request(request) if not permissions.has_manager_permissions(): user_service.check_criterions_has_task_related(criterions) return shots_service.get_shots_and_tasks(criterions)
def post(self, project_id): project_id = self.get_arguments() project = projects_service.get_project(project_id) shots = shots_service.get_shots_and_tasks({"project_id": project_id}) assets = assets_service.get_assets_and_tasks( {"project_id": project_id}) paths = [] for shot in shots: tasks = shot['tasks'] for task in tasks: path = file_tree_service.get_working_folder_path(task) paths.append(path) path = file_tree_service.get_working_folder_path( task, mode="components_output") paths.append(path) path = file_tree_service.get_working_folder_path( task, mode="output_output") paths.append(path) path = file_tree_service.get_working_folder_path( task, mode="slated_output") paths.append(path) for asset in assets: tasks = asset['tasks'] for task in tasks: path = file_tree_service.get_working_folder_path(task) paths.append(path) path = file_tree_service.get_working_folder_path( task, mode="components_output") paths.append(path) path = file_tree_service.get_working_folder_path( task, mode="output_output") paths.append(path) path = file_tree_service.get_working_folder_path( task, mode="slated_output") paths.append(path) try: for path in paths: if not os.path.exists(os.path.dirname(path)): os.makedirs(os.path.dirname(path)) except Exception as e: pass return paths, 200
def get_shots_data(self, criterions): results = shots_service.get_shots_and_tasks(criterions) return sorted( results, key=lambda shot: ( shot["episode_name"], shot["sequence_name"], shot["name"], ), )
def get(self): """ Retrieve all shots, adds project name and asset type name and all related tasks. """ criterions = query.get_query_criterions_from_request(request) user_service.check_project_access(criterions.get("project_id", None)) if permissions.has_vendor_permissions(): criterions["assigned_to"] = persons_service.get_current_user()["id"] return shots_service.get_shots_and_tasks(criterions)
def get_shots_data(self, project_id): results = shots_service.get_shots_and_tasks({"project_id": project_id}) return sorted( results, key=lambda shot: ( shot["episode_name"], shot["sequence_name"], shot["name"], ), )