def Transform(self, client, user_post, callback): from episode import Episode from post import Post from user_post import UserPost from viewpoint import Viewpoint if UserPost.REMOVED in user_post.labels: episode_id, photo_id = Post.DeconstructPostId(user_post.post_id) episode = yield gen.Task(Episode.Query, client, episode_id, None) viewpoint = yield gen.Task(Viewpoint.Query, client, episode.viewpoint_id, None) if viewpoint.IsDefault(): post = yield gen.Task(Post.Query, client, episode_id, photo_id, None) post.labels.add(Post.REMOVED) logging.info('Adding REMOVED label to POST: %s (%s, %s)', user_post.post_id, episode_id, photo_id) if Version._mutate_items: yield gen.Task(post.Update, client) yield gen.Task(user_post.Delete, client) callback(user_post)