def delayed_update_presence(self): Resource.update_presences(self._presences) for presence in self._presences: self.parse_vcard_update(presence) del self._presences[:] self.update_presence_flag = False signals.user_roster_status_received.send(sender=self) return True
def handle_presence_available(self, stanza): if stanza.stanza_type not in ("available", None): return False if self.update_presence_flag: self._presences.append(stanza) else: Resource.update_status(stanza) # parse vcard temp update self.parse_vcard_update(stanza) return True
def handle_presence_unavailable(self, stanza): Resource.offline(stanza) return True