Пример #1
0
 def deserialize(json):
     try:
         player_id = json['player_id']
     except KeyError as e:
         player_id = None
         logging.error(e)
     try:
         action = DuelAction.deserialize(
             json['action']
         ) if json['action'] is not None else None
     except KeyError as e:
         action = None
         logging.error(e)
     try:
         team = [i for i in json['team']] if json['team'] is not None else None
     except KeyError as e:
         team = None
         logging.error(e)
     try:
         team_selection = Message.deserialize_msg(
             json['team_selection']) if json['team_selection'] is not None else None
     except KeyError as e:
         team_selection = None
         logging.error(e)
     try:
         pokemon = json['pokemon'] if json['pokemon'] is not None else None
     except KeyError as e:
         pokemon = None
         logging.error(e)
     return Participant(player_id=player_id, action=action, team=team, team_selection=team_selection,
                        pokemon=pokemon)
Пример #2
0
    def deserialize_player(json):
        # FIXME: ugly code
        try:
            chat_id = json['_id']
        except KeyError as e:
            chat_id = None
            logging.error(e)
        try:
            username = json['username']
        except KeyError as e:
            username = None
            logging.error(e)
        try:
            friendlist = [i for i in json['friendlist']]
        except KeyError as e:
            friendlist = None
            logging.error(e)
        try:
            items = json['items']
        except KeyError as e:
            items = None
            logging.error(e)
        try:
            pokemon = [i for i in json['pokemon']]
        except KeyError as e:
            pokemon = None
            logging.error(e)
        try:
            pokemon_team = [i for i in json['pokemon_team']]
        except KeyError as e:
            pokemon_team = None
            logging.error(e)
        try:
            last_encounter = json['last_encounter']
        except KeyError as e:
            last_encounter = None
            logging.error(e)
        try:
            nc_msg_state = json['nc_msg_state']
        except KeyError as e:
            nc_msg_state = None
            logging.error(e)
        try:
            edit_pokemon_id = json['edit_pokemon_id']
        except KeyError as e:
            edit_pokemon_id = None
            logging.error(e)
        try:
            lang = json['lang']
        except KeyError as e:
            lang = None
            logging.error(e)
        try:
            encounters = json['encounters']
        except KeyError as e:
            encounters = None
            logging.error(e)
        try:
            messages_to_delete = [
                Message.deserialize_msg(i) for i in json['messages_to_delete']
            ]
        except KeyError as e:
            messages_to_delete = None
            logging.error(e)
        try:
            encounter = Encounter.deserialize(
                json['encounter']) if json['encounter'] is not None else None
        except KeyError as e:
            encounter = None
            logging.error(e)
        try:
            trade = Trade.deserialize(
                json['trade']) if json['trade'] is not None else None
        except KeyError as e:
            trade = None
            logging.error(e)
        try:
            duels = [i for i in json['duels']]
        except KeyError as e:
            duels = None
            logging.error(e)

        player = Player(chat_id=chat_id,
                        username=username,
                        friendlist=friendlist,
                        items=items,
                        pokemon=pokemon,
                        pokemon_team=pokemon_team,
                        last_encounter=last_encounter,
                        nc_msg_state=nc_msg_state,
                        edit_pokemon_id=edit_pokemon_id,
                        lang=lang,
                        encounters=encounters,
                        messages_to_delete=messages_to_delete,
                        encounter=encounter,
                        trade=trade,
                        duels=duels)
        return player