def update_portraits_t_run(self): if self.update_all_portraits_t and not self.update_all_portraits_t.isFinished( ): return self.update_all_portraits_t = IThread(i_update_all_portraits, user=self.user) self.update_all_portraits_t.start()
def listen_main_sock_t_run(self): """ TODO: offline-handler socket.error: [Errno 32] Broken pipe """ # listen the socket (main sock) used in SIPC auth self.listen_main_sock_t = IThread(self.listen_sock, sock=self.user.get_sock(), data_list=self.server_push_data_list, signal='recved_server_push_datas()', debug=True) self.listen_main_sock_t.start()
def add_listener_for_conversation_sock(self, conv): assert conv.sock != self.user.get_sock() conv.listen_thread = IThread( self.listen_sock, sock=conv.sock, data_list=self.conversation_server_push_data_list, signal='recved_conversation_server_push_datas()', debug=True) conv.listen_thread.start() conv.keep_conn_busy_thread = PeriodicExecutor(30, i_keep_connection_busy, user=self.user, sock=conv.sock) conv.keep_conn_busy_thread.start()
def set_portrait(self, path=None): if not path: path = self.user.get_portrait_path() or DEFAULT_PORTRAIT_PATH elif path and not os.path.exists(path): self.download_portrait_t = IThread(i_download_portrait_by_uri, user=self.user, uri=self.user.uri, debug=True) self.connect(self.download_portrait_t, QtCore.SIGNAL("thread_finished()"), self.download_portrait_t_finished) self.download_portrait_t.start() pixmap = QtGui.QPixmap(path) width, height = 60, 60 pixmap = pixmap.scaled(QtCore.QSize(width, height)) self.portraitLabel.setPixmap(pixmap)
def sipc_auth_t_run(self): kill_qthread(self.sipc_auth_t) kill_qthread(self.sipc_auth_t_killer) self.sipc_auth_t = IThread(i_sipc_auth, user=self.user, verification=self.verification, debug=True) self.sipc_auth_t_killer = IThreadKiller(self.sipc_auth_t, timeout=10) self.connect(self.sipc_auth_t, QtCore.SIGNAL("thread_finished()"), self.sipc_auth_t_finished) self.connect(self.sipc_auth_t_killer, QtCore.SIGNAL('kill_qthread()'), self.kill_sipc_auth_t) self.sipc_auth_t.start() self.sipc_auth_t_killer.start()
def download_sys_config_t_run(self): kill_qthread(self.download_sys_config_t) kill_qthread(self.download_sys_config_t_killer) self.download_sys_config_t = IThread(i_download_sys_config, user=self.user, debug=True) self.download_sys_config_t_killer = IThreadKiller( self.download_sys_config_t, timeout=20) self.connect(self.download_sys_config_t, QtCore.SIGNAL("thread_finished()"), self.download_sys_config_t_finished) self.connect(self.download_sys_config_t_killer, QtCore.SIGNAL("kill_qthread()"), self.kill_download_sys_config_t) self.download_sys_config_t.start() self.download_sys_config_t_killer.start()
def _consume_invitation(self, res_obj, sock): assert (sock is not None) """ TODO: ignore invitation will prevent from hide detecting. """ i_send_ack(res_obj, sock) attr = res_obj.headers.get_field_value from_uri = attr("F") conv = Conversation(from_uri) convs = self.user.get_conversations() convs[from_uri] = conv get_sock_for_recv_msg_thread = IThread(get_sock_for_recv_msg, user=self.user, res_obj=res_obj, debug=True) conv.get_sock_for_recv_msg_thread = get_sock_for_recv_msg_thread self.connect(conv.get_sock_for_recv_msg_thread, QtCore.SIGNAL("thread_finished()"), self.recv_msg_t_finished) conv.get_sock_for_recv_msg_thread.start()
def send_msg(self, msg): my_name = self.user.get_display_name() cur_idx = self.convTab.currentIndex() to_uri = str(self.convTab.tabBar().tabData(cur_idx).toString()) assert to_uri not in (None, "") convs = self.user.get_conversations() if to_uri not in convs: conv = Conversation(to_uri) convs[to_uri] = conv else: conv = convs[to_uri] send_msg_thread = IThread(i_send_msg, user = self.user, to_uri = to_uri, msg = msg) conv.send_msg_thread = send_msg_thread self.connect(send_msg_thread, QtCore.SIGNAL("thread_finished()"), self.send_msg_t_finished) send_msg_thread.start() chat_history_model = self.blah.contact_list_win.chat_history[to_uri] self.append_to_chat_history(chat_history_model, my_name, msg, MYSELF_LOG_TPL)