コード例 #1
0
ファイル: test_assets_service.py プロジェクト: NeroSouza/zou
    def test_get_asset(self):
        asset = assets_service.get_asset(self.entity.id)
        self.assertEqual(asset["id"], str(self.entity.id))

        assets_service.remove_asset(asset["id"])
        self.assertRaises(AssetNotFoundException, assets_service.get_asset,
                          self.entity.id)
コード例 #2
0
ファイル: deletion_service.py プロジェクト: cgwire/zou
def remove_episode(episode_id, force=False):
    """
    Remove an episode and all related sequences and shots.
    """
    from zou.app.services import shots_service, assets_service

    episode = shots_service.get_episode_raw(episode_id)
    if force:
        for sequence in Entity.get_all_by(parent_id=episode_id):
            shots_service.remove_sequence(sequence.id, force=True)
        for asset in Entity.get_all_by(source_id=episode_id):
            assets_service.remove_asset(asset.id, force=True)
        Playlist.delete_all_by(episode_id=episode_id)
        ScheduleItem.delete_all_by(object_id=episode_id)
    try:
        episode.delete()
        events.emit(
            "episode:delete",
            {"episode_id": episode_id},
            project_id=str(episode.project_id),
        )
    except IntegrityError:
        raise ModelWithRelationsDeletionException(
            "Some data are still linked to this episode.")
    shots_service.clear_episode_cache(episode_id)
    return episode.serialize(obj_type="Episode")
コード例 #3
0
ファイル: resources.py プロジェクト: cgwire/zou
    def delete(self, asset_id):
        """
        Delete given asset.
        ---
        tags:
          - Assets
        parameters:
          - in: path
            name: asset_id
            schema:
                type: UUID
                example: a24a6ea4-ce75-4665-a070-57453082c25
            required: True
        responses:
          204:
            description: Given asset deleted
        """
        parser = reqparse.RequestParser()
        parser.add_argument("force", default=False, type=bool)
        args = parser.parse_args()
        force = args["force"]

        asset = assets_service.get_full_asset(asset_id)
        user_service.check_manager_project_access(asset["project_id"])

        assets_service.remove_asset(asset_id, force=force)
        return "", 204
コード例 #4
0
ファイル: test_assets_service.py プロジェクト: NeroSouza/zou
 def test_get_asset_by_shotgun_id(self):
     self.shot.update({"shotgun_id": 1})
     self.entity.update({"shotgun_id": 1})
     asset = assets_service.get_asset_by_shotgun_id(1)
     self.assertEqual(asset["id"], str(self.entity.id))
     assets_service.remove_asset(asset["id"])
     self.assertRaises(AssetNotFoundException,
                       assets_service.get_asset_by_shotgun_id, 1)
コード例 #5
0
ファイル: test_index_service.py プロジェクト: cgwire/zou
 def test_search_assets_after_deletion(self):
     asset = assets_service.create_asset(self.project_id,
                                         self.asset_type_id, "Girafe", "",
                                         {})
     assets = index_service.search_assets("girafe")
     self.assertEqual(len(assets), 1)
     assets_service.remove_asset(asset["id"])
     assets = index_service.search_assets("girafe")
     self.assertEqual(len(assets), 0)
コード例 #6
0
ファイル: resources.py プロジェクト: withgame/zou
    def delete(self, asset_id):
        parser = reqparse.RequestParser()
        parser.add_argument("force", default=False, type=bool)
        args = parser.parse_args()
        force = args["force"]

        asset = assets_service.get_full_asset(asset_id)
        user_service.check_manager_project_access(asset["project_id"])

        assets_service.remove_asset(asset_id, force=force)
        return "", 204
コード例 #7
0
ファイル: assets.py プロジェクト: eliemichel/zou
 def delete_func(self, asset):
     try:
         asset = assets_service.get_asset_by_shotgun_id(asset.shotgun_id)
         tasks = tasks_service.get_tasks_for_asset(asset["id"])
         if self.is_working_files_linked(tasks):
             assets_service.cancel_asset(asset["id"])
         else:
             for task in tasks:
                 deletion_service.remove_task(task["id"])
             assets_service.remove_asset(asset["id"])
         return asset
     except AssetNotFoundException:
         return None
コード例 #8
0
ファイル: resources.py プロジェクト: cube-creative/zou
    def delete(self, asset_id):
        permissions.check_manager_permissions()

        parser = reqparse.RequestParser()
        parser.add_argument("force", default=False, type=bool)
        args = parser.parse_args()
        force = args["force"]
        if force:
            permissions.check_admin_permissions()
        deleted_asset = assets_service.remove_asset(asset_id, force=force)
        return deleted_asset, 204
コード例 #9
0
ファイル: test_assets_service.py プロジェクト: NeroSouza/zou
 def test_remove_asset(self):
     asset_id = self.entity.id
     assets_service.remove_asset(asset_id)
     self.assertRaises(AssetNotFoundException, assets_service.get_asset,
                       asset_id)
コード例 #10
0
ファイル: resources.py プロジェクト: Tesla-Coil/zou
 def delete(self, asset_id):
     permissions.check_manager_permissions()
     deleted_asset = assets_service.remove_asset(asset_id)
     return deleted_asset, 204