def showDialog(self, dialogText): """ """ data = ["widget", "dialog", dialogText] self.wfile.write(createPacket(data))
def setText(self, widgetId, labelText, fontSize = 0, alignment = 0): """ """ data = ["widget", "label", widgetId, fontSize, alignment, labelText] self.wfile.write(createPacket(data))
def speakText(self, textToSay, pitch = 1.0, speechRate = 1.0): """ """ data = ["feature", "speech", "speak", textToSay, str(pitch), str(speechRate)] self.wfile.write(createPacket(data))
def setText(self, widgetId, labelText, fontSize=0, alignment=0): """ """ data = ["widget", "label", widgetId, fontSize, alignment, labelText] self.wfile.write(createPacket(data))
def addLabel(self, labelText, fontSize = 0, alignment = 0): """ """ self._widgetId+=1 data = ["widget", "label", self._widgetId, fontSize, alignment, labelText] self.wfile.write(createPacket(data)) return self._widgetId
def addTextInput(self, callback): self._widgetId+=1 data = ["widget", "textinput", self._widgetId] self.wfile.write(createPacket(data)) self._textCallbacks[self._widgetId] = {"callback": callback} return self._widgetId
def addTextInput(self, callback): self._widgetId += 1 data = ["widget", "textinput", self._widgetId] self.wfile.write(createPacket(data)) self._textCallbacks[self._widgetId] = {"callback": callback} return self._widgetId
def speakText(self, textToSay, pitch=1.0, speechRate=1.0): """ """ data = [ "feature", "speech", "speak", textToSay, str(pitch), str(speechRate) ] self.wfile.write(createPacket(data))
def addButton(self, labelText, callback, fontSize = 0, alignment = 0): """ """ self._widgetId+=1 data = ["widget", "button", self._widgetId, fontSize, alignment, labelText] self.wfile.write(createPacket(data)) self._buttons[self._widgetId] = {"callback": callback} return self._widgetId
def addLabel(self, labelText, fontSize=0, alignment=0): """ """ self._widgetId += 1 data = [ "widget", "label", self._widgetId, fontSize, alignment, labelText ] self.wfile.write(createPacket(data)) return self._widgetId
def addButton(self, labelText, callback, fontSize=0, alignment=0): """ """ self._widgetId += 1 data = [ "widget", "button", self._widgetId, fontSize, alignment, labelText ] self.wfile.write(createPacket(data)) self._buttons[self._widgetId] = {"callback": callback} return self._widgetId
except socket.error, e: if e[0] == errno.ENOTCONN: # "Socket is not connected" print "Can't shutdown/close remote already disconnected" else: raise e print "bye" return for i in range(4): data = ["widget", "label", widgetId, random.randint(0, 40), 0, "My Label;\nHere, forever."] widgetId+=1 self.wfile.write(createPacket(data)) # TODO: Keep connection open and handle this in an "event loop". while 1: try: packet = parser.nextPacket() except socket.timeout: break else: print packet try: for i in range(21): data = ["widget", "label", widgetId, 50, 0x01, i] self.wfile.write(createPacket(data)) time.sleep(0.1)
def handle(self): """ """ global widgetId print "Client: %s" % str((self.request.getpeername())) parser = PacketParser(self.rfile) for i in range(4): data = ["widget", "label", widgetId, random.randint(0, 40), 0, "My Label;\nHere, forever."] widgetId+=1 self.wfile.write(createPacket(data)) # TODO: Keep connection open and handle this in an "event loop". while 1: try: packet = parser.nextPacket() except socket.timeout: break else: print packet for i in range(21): data = ["widget", "label", widgetId, 50, 0x01, i] self.wfile.write(createPacket(data)) time.sleep(0.1) widgetId+=1 for i in range(0, 101, 5): data = ["widget", "progress", widgetId, i] self.wfile.write(createPacket(data)) time.sleep(0.05) widgetId+=1 data = ["feature", "speech", "speak", "Terrain! Terrain! Pull up! Pull up!", 1.0, 1.0] self.wfile.write(createPacket(data)) # Note: Because of the lack of TTS connection reuse this doesn't # really work currently. time.sleep(2) data = ["feature", "speech", "speak", "Just kidding! Hello from Handbag.", 1.0, 1.0] self.wfile.write(createPacket(data)) data = ["widget", "dialog", "I dialogued with you!"] self.wfile.write(createPacket(data)) # TODO: Attach this to a button data = ["feature", "sms", "send", "Me", "Hello from Handbag!"] # Don't send this by default #self.wfile.write(createPacket(data)) self.request.shutdown(socket.SHUT_RDWR) self.request.close()
else: raise e print "bye" return for i in range(4): data = [ "widget", "label", widgetId, random.randint(0, 40), 0, "My Label;\nHere, forever." ] widgetId += 1 self.wfile.write(createPacket(data)) # TODO: Keep connection open and handle this in an "event loop". while 1: try: packet = parser.nextPacket() except socket.timeout: break else: print packet try: for i in range(21): data = ["widget", "label", widgetId, 50, 0x01, i] self.wfile.write(createPacket(data)) time.sleep(0.1)