Exemplo n.º 1
0
    def get(self):
        """
        Retrieve all entities that are not shot or sequence.
        Adds project name and asset type name and all related tasks.
        If episode_id is given as parameter, it returns assets not linked
        to an episode and assets linked to given episode.
        """
        criterions = query.get_query_criterions_from_request(request)
        page = query.get_page_from_request(request)
        user_service.check_project_access(criterions.get("project_id", None))
        assets = assets_service.get_assets_and_tasks(criterions, page)
        if "episode_id" in criterions:
            criterions["episode_id"] = None
            assets += assets_service.get_assets_and_tasks(criterions, page)

        return assets
Exemplo n.º 2
0
 def get_assets_data(self, project_id):
     results = assets_service.get_assets_and_tasks(
         {"project_id": project_id}
     )
     return sorted(
         results,
         key=lambda asset: (asset["asset_type_name"], asset["name"]),
     )
Exemplo n.º 3
0
 def get(self):
     """
     Retrieve all entities that are not shot or sequence.
     Adds project name and asset type name and all related tasks.
     """
     criterions = query.get_query_criterions_from_request(request)
     page = query.get_page_from_request(request)
     user_service.check_project_access(criterions.get("project_id", None))
     return assets_service.get_assets_and_tasks(criterions, page)
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
 def get(self):
     """
     Retrieve all entities that are not shot or sequence.
     Adds project name and asset type name and all related tasks.
     If episode_id is given as parameter, it returns assets not linked
     to an episode and assets linked to given episode.
     """
     criterions = query.get_query_criterions_from_request(request)
     page = query.get_page_from_request(request)
     check_criterion_access(criterions)
     if permissions.has_vendor_permissions():
         criterions["assigned_to"] = persons_service.get_current_user(
         )["id"]
     return assets_service.get_assets_and_tasks(criterions, page)
Exemplo n.º 6
0
 def test_get_assets_and_tasks(self):
     self.generate_fixture_asset_types()
     self.generate_fixture_asset_character()
     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_task()
     self.generate_fixture_task(name="Secondary")
     assets = assets_service.get_assets_and_tasks()
     self.assertEqual(len(assets), 2)
     assets = sorted(assets, key=lambda asset: asset["name"])
     self.assertEqual(len(assets[1]["tasks"]), 2)
     self.assertEqual(assets[1]["tasks"][0]["assignees"][0],
                      str(self.person.id))
     self.assertEqual(assets[1]["tasks"][0]["task_status_id"],
                      str(self.task_status.id))
     self.assertEqual(assets[1]["tasks"][0]["task_type_id"],
                      str(self.task_type.id))
Exemplo n.º 7
0
 def get_assets_data(self, criterions):
     results = assets_service.get_assets_and_tasks(criterions)
     return sorted(
         results,
         key=lambda asset: (asset["asset_type_name"], asset["name"]),
     )