Exemplo n.º 1
0
    def get(self):
        u"""登録ステージ情報を取得する."""
        pageNo = strToInt(self.request.get('page_no'))
        page_per_count = 10

        from html import get_cookie
        from html import get_user
        cookie = get_cookie()
        twitter_user = get_user(cookie)

        puzzles = (KyouenPuzzle
                   .query()
                   .filter(KyouenPuzzle.stageNo > (pageNo-1) * page_per_count)
                   .order(KyouenPuzzle.stageNo)
                   .fetch(limit=page_per_count))
        user = None
        if twitter_user:
            from html import User
            user = User.get_by_id(User.create_key(twitter_user.userId))

        def has_stage_user(puzzle, user):
            clear = (StageUser
                     .gql("WHERE stage = :1 AND user = :2", puzzle.key, user.key)
                     .get())
            return clear is not None

        def to_dict_puzzle(puzzle):
            p = to_dict(puzzle)
            if user and has_stage_user(puzzle, user):
                p['clear'] = '1'
            return p

        response_json = [to_dict_puzzle(p) for p in puzzles]
        self.response.out.write(json.dumps(response_json))
Exemplo n.º 2
0
    def get(self):
        u"""ランキングを取得する."""
        from html import User
        users = User.query().order(-User.clearStageCount)

        response_json = json.dumps([dict(screenName=u.screenName,
                                         image=u.image,
                                         clearStageCount=u.clearStageCount,
                                         ) for u in users])
        self.response.out.write(response_json)