Пример #1
0
    def testClientServer(self):
        """
        Do some client server tests.
        """
        import time

        def callback(text):
            callback.count += 1
            callback.last_result = text

        def testfunc():
            pass

        callback.count = 0

        cl = ClientConnector("localhost", test_port)
        cl.start()
        self.assertTrue(cl.is_connected(), "Connection failed.")

        testService = cl.get_service_interface("test")

        result = testService.test(text="Spam")
        self.assertEqual(result, "Spam", "Expecting same message back.")
        result = testService.test("Spam")
        self.assertEqual(result, "Spam", "Expecting same message back.")

        with self.assertRaises(TypeError):
            result = testService.test(testfunc)

        testService.on_trigger += callback

        testService.trigger(text="Eggs")
        self.assertEqual(callback.count, 1, "No callback received")
        self.assertEqual(callback.last_result, "Callback: Eggs",
                         "Received incorrect result text.")

        testService.trigger2("Ham")
        self.assertEqual(callback.count, 2, "No callback received")
        self.assertEqual(callback.last_result, "Callback2: Ham",
                         "Received incorrect result text.")

        from quartjes.connector.protocol import default_timeout
        with self.assertRaises(TimeoutError):
            testService.test_timeout(default_timeout + 10)

        time.sleep(10)
        cl.stop()
        time.sleep(10)
        cl.start()

        result = testService.test(text="Spam")
        self.assertEqual(result, "Spam", "Expecting same message back.")

        cl.stop()
Пример #2
0
    def testClientServer(self):
        """
        Do some client server tests.
        """
        import time

        def callback(text):
            callback.count += 1
            callback.last_result = text

        def testfunc():
            pass

        callback.count = 0

        cl = ClientConnector("localhost", test_port)
        cl.start()
        self.assertTrue(cl.is_connected(), "Connection failed.")

        testService = cl.get_service_interface("test")

        result = testService.test(text="Spam")
        self.assertEqual(result, "Spam", "Expecting same message back.")
        result = testService.test("Spam")
        self.assertEqual(result, "Spam", "Expecting same message back.")

        with self.assertRaises(TypeError):
            result = testService.test(testfunc)

        testService.on_trigger += callback

        testService.trigger(text="Eggs")
        self.assertEqual(callback.count, 1, "No callback received")
        self.assertEqual(callback.last_result, "Callback: Eggs", "Received incorrect result text.")

        testService.trigger2("Ham")
        self.assertEqual(callback.count, 2, "No callback received")
        self.assertEqual(callback.last_result, "Callback2: Ham", "Received incorrect result text.")

        from quartjes.connector.protocol import default_timeout

        with self.assertRaises(TimeoutError):
            testService.test_timeout(default_timeout + 10)

        time.sleep(10)
        cl.stop()
        time.sleep(10)
        cl.start()

        result = testService.test(text="Spam")
        self.assertEqual(result, "Spam", "Expecting same message back.")

        cl.stop()
Пример #3
0
from quartjes.connector.client import ClientConnector

debug_memory = False

if debug_memory:
    from meliae import scanner
else:
    scanner = None

__author__="rob"
__date__ ="$Jul 3, 2011 10:45:28 AM$"

if __name__ == "__main__":
    con = ClientConnector("localhost", 1234)
    con.start()
    while not con.is_connected():
        time.sleep(1)

    database = con.database
    exchange = con.stock_exchange

    current_drinks = {}
    max_position = 0
    
    mem_counter = 0

    def update_drinks(drinks):
        global current_drinks
        global max_position
        
        new_drinks = {}
Пример #4
0
class Sales_client(Frame):
    f1 = ("Arial", 12, "bold")

    def __init__(self, root):
        root.title('Sales client')
        Frame.__init__(self, root)
        self.pack(fill=BOTH, expand=1)
        self.createWidgets()
        self.conn = ClientConnector()

    def connect_to_server(self):
        if self.conn.is_connected():
            self.conn.stop()
            self.b_connect_to_server.config(text="Not connected to server",
                                            bg="#ff0000",
                                            activebackground="#ff5555")
            self.ed.destroy()
            self.sd.destroy()
        else:
            try:
                self.conn.host = str(self.e_server_hostname.get())
                self.conn.port = int(self.e_server_port.get())
            except:
                import traceback
                traceback.print_exc()
                pass

            self.conn.start()
            self.b_connect_to_server.config(text="Connected",
                                            bg="#00ff00",
                                            activebackground="#55ff55")
            self.ed = edit_db_dialog(self)
            self.sd = sell_dialog(self)
            self.sd.pack(side=BOTTOM, fill=BOTH, expand=1)

    def edit_db(self):
        if self.conn.is_connected():
            self.sd.forget()
            self.ed.pack(side=BOTTOM, fill=BOTH, expand=1)
        else:
            tkMessageBox.showwarning("Not connected to server",
                                     "Please connected to a server first.")

    def sell(self):
        if self.conn.is_connected():
            self.ed.forget()
            self.sd.pack(side=BOTTOM, fill=BOTH, expand=1)
        else:
            tkMessageBox.showwarning("Not connected to server",
                                     "Please connected to a server first.")

    def createWidgets(self):
        # frame 1
        self.frame1 = Frame(self)

        Label(self.frame1, text="Server hostname/IP:",
              font=self.f1).pack(side=LEFT, fill=X, expand=1)
        self.e_server_hostname = Entry(self.frame1, font=self.f1)
        self.e_server_hostname.pack(side=LEFT, fill=X, expand=1)
        Label(self.frame1, text="Port:", font=self.f1).pack(side=LEFT,
                                                            fill=X,
                                                            expand=1)
        self.e_server_port = Entry(self.frame1, font=self.f1)
        self.e_server_port.pack(side=LEFT, fill=X, expand=1)

        self.b_connect_to_server = Button(self.frame1,
                                          text="Connect to server",
                                          bg="#ff0000",
                                          activebackground="#ff5555",
                                          command=self.connect_to_server,
                                          font=self.f1)
        self.b_connect_to_server.pack(side=LEFT, fill=X, expand=1, padx=10)

        self.b_edit_dialog = Button(self.frame1,
                                    text="Edit database",
                                    command=self.edit_db,
                                    font=self.f1)
        self.b_sell_dialog = Button(self.frame1,
                                    text="Sell dialog",
                                    command=self.sell,
                                    font=self.f1)

        self.frame1.pack(fill=X)
        self.b_edit_dialog.pack(side=LEFT, fill=X, expand=1, padx=10)
        self.b_sell_dialog.pack(side=LEFT, fill=X, expand=1, padx=10)
Пример #5
0
from quartjes.connector.client import ClientConnector

debug_memory = False

if debug_memory:
    from meliae import scanner
else:
    scanner = None

__author__ = "rob"
__date__ = "$Jul 3, 2011 10:45:28 AM$"

if __name__ == "__main__":
    con = ClientConnector("localhost", 1234)
    con.start()
    while not con.is_connected():
        time.sleep(1)

    database = con.database
    exchange = con.stock_exchange

    current_drinks = {}
    max_position = 0

    mem_counter = 0

    def update_drinks(drinks):
        global current_drinks
        global max_position

        new_drinks = {}
Пример #6
0
class Sales_client(Frame):  
    f1 = ("Arial", 12, "bold")  
    def __init__(self, root):        
        root.title('Sales client')
        Frame.__init__(self, root)
        self.pack(fill=BOTH,expand=1)
        self.createWidgets()
        self.conn = ClientConnector() 

    def connect_to_server(self):        
        if self.conn.is_connected():
            self.conn.stop()
            self.b_connect_to_server.config(text = "Not connected to server", bg="#ff0000",activebackground="#ff5555")
            self.ed.destroy()
            self.sd.destroy()
        else:                        
            try:
                self.conn.host = str(self.e_server_hostname.get())
                self.conn.port = int(self.e_server_port.get())
            except:
                import traceback
                traceback.print_exc()
                pass                
            
            self.conn.start()
            self.b_connect_to_server.config(text = "Connected", bg="#00ff00",activebackground="#55ff55")
            self.ed = edit_db_dialog(self)
            self.sd = sell_dialog(self)
            self.sd.pack(side=BOTTOM,fill=BOTH,expand=1)

    def edit_db(self):
        if self.conn.is_connected():
            self.sd.forget()
            self.ed.pack(side=BOTTOM,fill=BOTH,expand=1)
        else:
            tkMessageBox.showwarning("Not connected to server","Please connected to a server first.")

    def sell(self):
        if self.conn.is_connected():
            self.ed.forget()
            self.sd.pack(side=BOTTOM,fill=BOTH,expand=1)
        else:
            tkMessageBox.showwarning("Not connected to server","Please connected to a server first.")

    def createWidgets(self):                
        # frame 1
        self.frame1 = Frame(self)
        
        Label(self.frame1, text="Server hostname/IP:",font = self.f1).pack(side=LEFT,fill=X,expand=1)        
        self.e_server_hostname = Entry(self.frame1,font = self.f1)
        self.e_server_hostname.pack(side=LEFT,fill=X,expand=1)
        Label(self.frame1, text="Port:",font = self.f1).pack(side=LEFT,fill=X,expand=1)
        self.e_server_port = Entry(self.frame1, font = self.f1)
        self.e_server_port.pack(side=LEFT,fill=X,expand=1)
         
        self.b_connect_to_server = Button(self.frame1, text = "Connect to server", bg="#ff0000", activebackground="#ff5555", command =  self.connect_to_server, font = self.f1)
        self.b_connect_to_server.pack(side=LEFT,fill=X,expand=1,padx=10)

        self.b_edit_dialog = Button(self.frame1, text = "Edit database",command = self.edit_db, font = self.f1)
        self.b_sell_dialog = Button(self.frame1, text = "Sell dialog", command = self.sell, font = self.f1)

        self.frame1.pack(fill=X)
        self.b_edit_dialog.pack(side=LEFT,fill=X,expand=1,padx=10)
        self.b_sell_dialog.pack(side=LEFT,fill=X,expand=1,padx=10)