コード例 #1
0
    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)