コード例 #1
0
ファイル: main.py プロジェクト: devmario/jinx
    def get(self):
        uid = self.get_argument('uid', '')
        toid = self.get_argument('toid', '')
        message = self.get_argument('message', '')

        if uid == '':
            self.write('{"error":"uid parameter need"}')
            return

        if toid == '':
            self.write('{"error":"toid parameter need"}')
            return

        if message == '':
            self.write('{"error":"message parameter need"}')
            return

        me = User.new_or_get_by_id(uid)
        if me == None:
            self.write('{"error":"not found"}')

        o = User.new_or_get_by_id(toid)
        if 'token' in o.prop:
            if o.prop['token'] != '(null)':
                payload = {'aps':{'alert':''}}
                if 'nickname' in o.prop:
                    payload['aps']['alert'] = o.prop['nickname'] + '님이 메세지를 보냈습니다!'
                payload['aps']['alert'] = '누국가가 당신에게 메세지를 보냈습니다!'
                payload['aps']['sound'] = 'jinx.wav'
                send_pushnoti(o.prop['token'], payload)

        gl = Gamelist.new_or_get_by_id(uid)
        glto = Gamelist.new_or_get_by_id(toid)
        gid = gl.get_current_game_id(toid)
        newgame = gid is None
        if newgame:
            gid = Game.make_id(uid, toid)
        g = Game.new_or_get_by_id(gid)
        if g.say(uid, message):
            g.set()
            gl.set_game(g)
            glto.set_game(g)
            if newgame:
                gl.add_current_game(toid, gid)
                glto.add_current_game(uid, gid)
            gl.set()
            glto.set()
            Queue.push(uid, gid, toid, message, g.round)

        data = {}
        data['game'] = g.to_dict(uid, True)
        self.write(json.dumps(data))