[tuxdroid-svn] r958 - in software/gadgets/skype_controller: . skype_controller/Scripts/Python
Status: Beta
Brought to you by:
ks156
From: jerome <c2m...@c2...> - 2008-04-03 11:42:27
|
Author: jerome Date: 2008-04-03 13:42:25 +0200 (Thu, 03 Apr 2008) New Revision: 958 Modified: software/gadgets/skype_controller/skype_controller.tgf software/gadgets/skype_controller/skype_controller/Scripts/Python/tux_skype.py Log: * Added read message function pushing the head button with stop possibility. * Added ok, receive call and hangup buttons to control calls. Modified: software/gadgets/skype_controller/skype_controller/Scripts/Python/tux_skype.py =================================================================== --- software/gadgets/skype_controller/skype_controller/Scripts/Python/tux_skype.py 2008-04-03 09:26:10 UTC (rev 957) +++ software/gadgets/skype_controller/skype_controller/Scripts/Python/tux_skype.py 2008-04-03 11:42:25 UTC (rev 958) @@ -92,65 +92,67 @@ """ Lanch skype. """ - - if not sk_commands.skype_connected(): - self.__tux.tts.speak_free(TRYING_CONNECT_SKYPE) - thread.start_new_thread(sk_commands.launch_skype, ()) - temp1 = time.time() - timeout = 10 - retour = False - while not retour: - temp2 = time.time() - try: - self.__user_commands.set_online() - result = self.get_own_status() - if result.lower() != 'offline': + try: + if not sk_commands.skype_connected(): + self.__tux.tts.speak_free(TRYING_CONNECT_SKYPE) + thread.start_new_thread(sk_commands.launch_skype, ()) + temp1 = time.time() + timeout = 10 + retour = False + while not retour: + temp2 = time.time() + try: + self.__user_commands.set_online() + result = self.get_own_status() + if result.lower() != 'offline': + retour = True + except: + pass + time.sleep(0.2) + if int((temp2 - temp1)) >= timeout: retour = True - except: - pass - time.sleep(0.2) - if int((temp2 - temp1)) >= timeout: - retour = True - - - self.__skype_connection = skype_dbus.connect() - self.__local_user = infos.local_user(self.__skype_connection) - self.__skype = sk_commands.calls(self.__skype_connection) - self.__user_commands = sk_commands.status(self.__skype_connection) - self.__context = sk_commands.pointers_contexts() - self.__chat = sk_commands.chat_messages(self.__skype_connection) - self.__chat.notify = self.__on_message_status - self.__chat.connect_event() - self.__user_commands.on_remote_user_event = self.__on_online_status_changed - self.__user_commands.connect_remote_user_event() - self.__skype.on_call_event = self.__on_call_event - self.__skype.connect_call_event() + + + self.__skype_connection = skype_dbus.connect() + self.__local_user = infos.local_user(self.__skype_connection) + self.__skype = sk_commands.calls(self.__skype_connection) + self.__user_commands = sk_commands.status(self.__skype_connection) + self.__context = sk_commands.pointers_contexts() + self.__chat = sk_commands.chat_messages(self.__skype_connection) + self.__chat.notify = self.__on_message_status + self.__chat.connect_event() + self.__user_commands.on_remote_user_event = self.__on_online_status_changed + self.__user_commands.connect_remote_user_event() + self.__skype.on_call_event = self.__on_call_event + self.__skype.connect_call_event() - #We put tux and remote in their new context. - self.__set_tux_events() - - #publics variables. - self.on_contact_change_state = None + #We put tux and remote in their new context. + self.__set_tux_events() - self.__on_screen = None - self.current_remote_user = None - self.connection_state = False - self.dongle = self.__detect_dongle() - - if not self.dongle: - if on_no_radio != None: - on_no_radio() - time.sleep(1.0) - self.connection_state = self.__skype_connection.connection_state - - if self.connection_state and (on_api_attach_success != None): - time.sleep(3.0) - on_api_attach_success() + #publics variables. + self.on_contact_change_state = None + + self.__on_screen = None + self.current_remote_user = None + self.connection_state = False + self.dongle = self.__detect_dongle() - if self.__remote_t9: - self.my_T9 = t9.tuxdroid_t9() - self.my_T9.clear_database() - self.init_touchs() + if not self.dongle: + if on_no_radio != None: + on_no_radio() + time.sleep(1.0) + self.connection_state = self.__skype_connection.connection_state + + if self.connection_state and (on_api_attach_success != None): + time.sleep(3.0) + on_api_attach_success() + + if self.__remote_t9: + self.my_T9 = t9.tuxdroid_t9() + self.my_T9.clear_database() + self.init_touchs() + except: + pass @@ -231,6 +233,12 @@ """ when a chat is started up. """ + def stop_notification(): + if self.__tux.tts.sound_on: + self.__tux.tts.stop() + + current_message = message.Body + if not self.connection_state: return @@ -260,8 +268,21 @@ if message_from.find('_') > -1: message_from = message_from.replace('_', ' ') + #Ask if user want to hear the incoming message. + head_context = self.__tux.event.on_head_bt_pushed + stop_context = self.__tux.event.on_remote_bt[tuxapi_const.K_STOP] + self.__tux.event.on_head_bt_pushed = None self.__tux.tts.stop() self.__tux.tts.speak_free(message_from) + ret = self.__tux.event.wait_head_bt_pushed(6) + if ret: + self.__tux.event.on_remote_bt[tuxapi_const.K_STOP] = stop_notification + self.__tux.event.on_head_bt_pushed = stop_notification + u = unicode(message.Body) + to = u.encode('utf-8', 'replace') + self.__tux.tts.speak(to) + self.__tux.event.on_head_bt_pushed = head_context + self.__tux.event.on_remote_bt[tuxapi_const.K_STOP] = stop_context @@ -860,13 +881,7 @@ except: pass else: - temp1 = time.time() - self.__tux.event.wait_head_bt_released(10) - if (time.time() - temp1) >= 1.5: - thread.start_new_thread(self.__launch_skype, ()) - time.sleep(1.0) - else: - self.__call() + self.__call() @@ -874,6 +889,9 @@ """ Set all events needed. """ + def hello(): + print 'coucou' + if not sk_commands.skype_connected(): try: if on_skype_connection_lost != None: @@ -887,7 +905,8 @@ #Tux buttons events. self.__tux.event.on_head_bt_pushed = self.__test - self.__tux.event.on_remote_bt[tuxapi_const.K_OK] = self.__tux.event.on_head_bt_pushed + self.__tux.event.on_remote_bt[tuxapi_const.K_OK] = self.__test + self.__tux.event.on_remote_bt[tuxapi_const.K_RECEIVECALL] = self.__test if self.tux_wings: self.__tux.event.on_lwing_bt_pushed = self.__previous self.__tux.event.on_rwing_bt_pushed = self.__next Modified: software/gadgets/skype_controller/skype_controller.tgf =================================================================== (Binary files differ) |