def on_my_state_changed(self, statebox): tree_iter = statebox.get_active_iter() if tree_iter != None: model = statebox.get_model() state = model[tree_iter][0].lower() UserInputParser.state_changed(StateCodes.get_code_by_state(state))
def update(self): if self.state and not self.tried_to_connect and not self.out_messages.empty() and not self.is_connected: self.tried_to_connect = True UserInputParser.connect_to_peer(self.username) #send & receive messages if self.sock and self.is_connected: try: data = self.sock.recv(512) if data: while not data.endswith(';'): data += u.sock.recv(1) messages = [m for m in data.split(';') if m != ''] for m in messages: msg = Message.Message.from_data(m) self.handle_incoming_message(msg) print msg.to_console() else: self.sock.close() self.sock = None print 'friend ' + self.username + ' had disconnected' self.is_connected = False self.tried_to_connect = False except socket.error: pass try: while not self.out_messages.empty(): print 'sent message to', self.username self.sock.send(self.out_messages.get().to_data() + ';') except socket.error: self.is_connected = False
def send(self, widget, data=None): if data and data.keyval != 65293: return False if self.current_chat_window_username: if self.current_chat_window.textbuffer.get_char_count(): start, end = self.current_chat_window.textbuffer.get_bounds() UserInputParser.send_message( self.current_chat_window_username, self.current_chat_window.textbuffer.get_text(start, end, True)) self.current_chat_window.textbuffer.delete(start, end) return True
def decline_click(self, widget, user): UserInputParser.decline_friend_request(user) self.destroy()
def accept_click(self, widget, user): UserInputParser.accept_friend_request(user) self.destroy()
def send_friend_request(self, widget, data=None): name = data.get_text() if name: UserInputParser.send_friend_request(name) data.set_text('')