def run_server(): logger.info("Starting Rounder server on port %s" % (DEFAULT_SERVER_PORT)) register_message_classes() realm = RounderRealm() realm.server = RounderNetworkServer() checker = OnDemandCredentialsChecker() p = portal.Portal(realm, [checker]) realm.server.create_table("Table 1") reactor.listenTCP(DEFAULT_SERVER_PORT, pb.PBServerFactory(p)) reactor.run()
def __init__(self, host=None, port=None, username=None, password=None): logger.info("Starting rounder.") logger.debug("Initial connection Info:\n" " host = %s\n" " port = %s\n" " username = %s\n" " password = %s", host, port, username, password) register_message_classes() glade_file = 'rounder/ui/gtk/data/rounder.glade' self.glade_xml = gtk.glade.XML(find_file_on_path(glade_file)) main_window = self.glade_xml.get_widget('main-window') main_window.set_icon_from_file(find_file_on_path(ROUNDER_ICON_FILE)) self.table_list = self.glade_xml.get_widget('table-list') self.statusbar = self.glade_xml.get_widget('statusbar') self.connect_button = self.glade_xml.get_widget('connect-button') logo = self.glade_xml.get_widget("rounder-logo-image") logo.set_from_file(find_file_on_path(ROUNDER_LOGO_FILE)) signals = { 'on_connect_activate': self.show_connect_dialog, 'on_close_activate': self.shutdown, 'on_main_window_destroy': self.shutdown, 'on_connect_button_clicked': self.show_connect_dialog, 'on_quit_button_clicked': self.shutdown, 'on_table_list_row_activated': self.open_table, 'on_about1_activate': self.open_about_window, } self.glade_xml.signal_autoconnect(signals) treeselection = self.table_list.get_selection() treeselection.set_mode(gtk.SELECTION_SINGLE) # Reference to a network client. self.client = None self.connect_dialog = None # Set once connect dialog is open self.set_status("Connect to a server to begin playing.") main_window.show_all() # Autoconnect if given details, otherwise show connect dialog: if host != None and port != None and username != None and \ password != None: connect(host, port, username, password, self) else: self.show_connect_dialog(None)
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ Tests for the rounder.serialize module. """ from logging import getLogger logger = getLogger("rounder.test.serialize") import unittest from rounder.network.serialize import dumps, loads, register_message_classes from rounder.dto import TableState from utils import create_table register_message_classes() class CerealizerTests(unittest.TestCase): """ Tests exercising the rounder serialization code. """ def test_simple_serialize(self): tuple = create_table([1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000], 0) table = tuple[1] state = TableState(table) str = dumps(state) new_state = loads(str) self.assertEquals(state.name, new_state.name)