コード例 #1
0
ファイル: test_shots_service.py プロジェクト: tokejepsen/zou
    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)
        )
コード例 #2
0
ファイル: resources.py プロジェクト: cube-creative/zou
 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)
コード例 #3
0
 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)
コード例 #4
0
ファイル: resources.py プロジェクト: animationsfabrik/zou
    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
コード例 #5
0
ファイル: shots.py プロジェクト: cgwire/zou
 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"],
         ),
     )
コード例 #6
0
 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)
コード例 #7
0
ファイル: shots.py プロジェクト: withgame/zou
 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"],
         ),
     )