Example #1
0
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()
Example #2
0
    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)
Example #3
0
#   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)