def create_tables ( self ): self.controller.log ( ) self.lp_table = lp_table ( ) self.portals = portals_table ( ) global Base Base.metadata.create_all ( self.engine ) self.log ( "debug", "database.create_tables returning." )
def create_portal_from_coordinates ( self, y_quadrant, y_value, x_quadrant, x_value, z_value, name, public = True ): if not public: return position_x = int ( float ( x_value ) ) if str ( x_quadrant ) == "W": position_x *= -1 position_y = int ( float ( y_value ) ) if str ( y_quadrant ) == "S": position_y *= -1 session = self.controller.database.get_session ( ) session.add ( portals_table ( steamid = -1, name = name, longitude = position_x, latitude = position_y, height = int ( float ( z_value ) ) ) ) self.controller.database.let_session ( session )
def add_portal ( self, possible_player_name, possible_portal_name ): session = self.controller.database.get_session ( ) player_query = session.query ( lp_table ).filter ( lp_table.name == possible_player_name ) if player_query.count ( ) == 0: self.log ( "info", "unable to match '{}' to a player name in lp table.".format ( possible_player_name ) ) self.controller.database.let_session ( session ) return player_lp = player_query.one ( ) session.add_all ( [ portals_table ( steamid = player_lp.steamid, name = possible_portal_name, longitude = player_lp.longitude, height = player_lp.height, latitude = player_lp.latitude ) ] ) self.controller.telnet.write ( 'pm {} "Portal {} created."'.format ( player_lp.steamid, possible_portal_name ) ) self.controller.database.let_session ( session )