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)
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")
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
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)
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)
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
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
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
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)
def delete(self, asset_id): permissions.check_manager_permissions() deleted_asset = assets_service.remove_asset(asset_id) return deleted_asset, 204