Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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())
Example #4
0
    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()
Example #5
0
    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)