def _pong(self, sender_status, sender=None): tp_handle = self._tube.bus_name_to_handle[sender] buddy = self._buddies[tp_handle] = self._tube.get_buddy(tp_handle) logger.debug('pong received from %s(%s) status=%s' \ % (sender, buddy.props.nick, sender_status)) self.chat.post(buddy, face.Status().deserialize(sender_status), None)
def _post_cb(self, sender_status, text, sender=None): if sender == self.me: return if not text: text = None tp_handle = self._tube.bus_name_to_handle[sender] buddy = self._buddies[tp_handle] logger.debug('message received from %s(%s): %s' % (sender, buddy.props.nick, text)) self.chat.post(buddy, face.Status().deserialize(sender_status), text)
def _ping_cb(self, sender_status, sender=None): if sender == self.me: return tp_handle = self._tube.bus_name_to_handle[sender] buddy = self._tube.get_buddy(tp_handle) if not buddy: return self._buddies[tp_handle] = buddy logger.debug('ping received from %s(%s) status=%s' \ % (sender, buddy.props.nick, sender_status)) self.chat.post(buddy, face.Status().deserialize(sender_status), None) remote_object = self._tube.get_object(sender, PATH) remote_object._pong(self.chat.me.status.serialize())
def resume_instance(self, file_path): cfg = cjson.decode(file(file_path, 'r').read()) status = self.face.status = face.Status().deserialize(cfg['status']) self.voices.select(status.voice) self.pitchadj.value = self.face.status.pitch self.rateadj.value = self.face.status.rate self.mouth_shape_combo.select(status.mouth) self.eye_shape_combo.select(status.eyes[0]) self.numeyesadj.value = len(status.eyes) self.entry.props.text = cfg['text'] for i in cfg['history']: self.entrycombo.append_text(i) self.new_instance()
def post(self, buddy, text, status_message=False): buddy_face = self._find_buddy(buddy) if not text: return if STATUS_MSG in text: try: status = face.Status().deserialize(text[len(STATUS_MSG) + 1:]) buddy_face.update(status) self.resize_buddy_list() except BaseException: logging.error('Could not parse status message %s' % text) else: self._chat.add_text(buddy, text, status_message) if not self.quiet: # and self.props.window \ # and self.props.window.is_visible(): buddy_face.say(text)