Example #1
0
 def __init__(self, user_id, game_name):
     db = DBSession()
     self.user_name = db.query(User.name).filter(User.id == user_id).one()[0]
     self.game_name = game_name
     self.connections = []
     self.game = None
     
     self.mud = MudClient()
     self.mud.on_connected = self.mud_connected
     self.mud.on_failed_to_connect = self.mud_failed_to_connect
     self.mud.on_disconnected = self.mud_disconnected
     self.mud.on_line_received = self.mud_line
     self.mud.on_gmcp_message_received = self.mud_gmcp_message
     
     self.processor = None
     self._loaded_processors = {}
Example #2
0
 def connect(self):
     """Open a game session and connect to the mud server."""
     if self.mud.connected or self.mud.connecting:
         return self.system_message("Close the current session first.")
     db = DBSession()
     game = db.query(Game).filter(Game.name == self.game_name).first()
     if game is None:
         return self.system_message("Game named '%s' does not exist." % self.game_name)
     self.system_message("Loading game session '%s'..." % game.name)
     self.processor = self._get_processor(self.user_name, game.name)
     if self.processor is None:
         return self.system_message("Couldn't load a processor for that session.")
     self.game = game
     self.mud.connect(self.game.address, self.game.port)
     self.system_message("Game session '%s' has been opened." % game.name)
     self.system_message("Trying to connect to the mud...")