def post(self): isajax = self.request.get('isajax') phone = self.request.get('phone') msg = self.request.get('msg') contact_name = self.request.get('contact_name') user = users.get_current_user() email = user.email().lower() q = Token.query(Token.email == email) token = q.get() status = 100 hist='' logging.debug(email + ' ' + phone + ' ' + msg + ' ' + contact_name) if token: status = 101 if len(phone) and len(msg): status = 200 hist = History(email=email, msg=msg, phone=phone, contact_name = contact_name) hist.put() airship.push({ "android": { "extra": {"msgid": str(hist.key.id()), "phone": phone, "msg":msg} } }, apids=[token.apid]) id = hist.key.id() hist = hist.to_dict() hist['created']=hist['created'].isoformat(); hist['id'] = id hist['type'] = 'sms' self.response.out.write(json.dumps({'status':status, 'msg':hist}))
def new_game(self, request): """Creates a Game. Args: request: The NEW_GAME_REQUEST objects, which includes two players' names Returns: GameForm with created game Raises: endpoints.NotFoundException: If the user does not exist. endpoints.BadRequestException: If the game is created with one user. """ user_x = User.query(User.name == request.user_name_x).get() user_o = User.query(User.name == request.user_name_o).get() if (not user_o) or (not user_x): raise endpoints.NotFoundException( 'A User with that name does not exist!') try: game = Game.new_game(user_x.key, user_o.key) history = History(game=game.key) history.put() except ValueError: raise endpoints.BadRequestException('Players should be ' 'different!') return game.to_form('Good luck playing TicTacToe!')
def get(self): contact_name = self.request.get('contact_name') phone = self.request.get('phone') msg = self.request.get('msg') email = self.request.get("email",'').lower() hist = History(email=email, msg=msg, phone=phone, contact_name = contact_name, byme=False) hist.put() id = hist.key.id() hist = hist.to_dict() hist['created']=hist['created'].isoformat(); hist['id'] = id hist['type'] = 'sms' channel.send_message(email, json.dumps(hist)) self.response.out.write(json.dumps({}))
def create_game(self, request): """create a new game """ # look up initiating player slinger = Player.query(Player.player_id == request.player_id).get() if slinger is None: raise endpoints.BadRequestException( 'specified player_id not found') # generate new game game_id = uniq_id() game = Game(game_id=game_id, player_id=slinger.player_id) game.put() # create game history for this game history = History(game=game.key) history.put() return game.to_message()
def _make_move(self, game, user, at_position, p): try: history = History(parent=game.key) history.user = user.key history.guess = p.coordinate history.turn = game.turn if game.player1_turn: history.player_turn = 1 else: history.player_turn = 2 if at_position <= 0: message = 'Miss!' history.result = 'miss' history.put() game.set_fired(user, p.d) game.put() else: message = "Hit!" history.result = 'hit' ships_query = Ship.query(ancestor=game.key) filter_query = ndb.query.FilterNode('user', '=', user.key) ships_query1 = ships_query.filter(filter_query) filter_query = ndb.query.FilterNode('type', '=', at_position) ships_query2 = ships_query1.filter(filter_query) ship = ships_query2.get() if not ship: filter_query = ndb.query.FilterNode( 'type', '=', str(at_position)) ships_query3 = ships_query1.filter(filter_query) ship = ships_query3.get() ship.hits += 1 game.set_fired(user, p.d) if(ship.is_sank()): message += " Ship %s sank" % ShipType(at_position) game.sink_ship(user, at_position) history.put() ship.put() game.put() except ValueError as e: raise endpoints.BadRequestException(e) return game.to_form(message)