def test_from_exception_with_application_condition(self): @stanza.Error.as_application_condition class Foo(xso.XSO): TAG = ("uri:foo", "test_from_exception_with_application_condition") obj = Foo() exc = errors.XMPPAuthError(errors.ErrorCondition.NOT_AUTHORIZED, application_defined_condition=obj) err = stanza.Error.from_exception(exc) self.assertIs( err.application_condition, obj, )
async def handle_roster_push(self, iq): if iq.from_ and iq.from_ != self.client.local_jid.bare(): raise errors.XMPPAuthError(errors.ErrorCondition.FORBIDDEN) request = iq.payload async with self.__roster_lock: for item in request.items: if item.subscription == "remove": try: old_item = self.items.pop(item.jid) except KeyError: pass else: self._remove_from_groups(old_item, old_item.groups) self.on_entry_removed(old_item) else: self._update_entry(item) self.version = request.ver
def handle_roster_push(self, iq): if iq.from_ and iq.from_ != self.client.local_jid.bare(): raise errors.XMPPAuthError((namespaces.stanzas, "forbidden")) request = iq.payload with (yield from self.__roster_lock): for item in request.items: if item.subscription == "remove": try: old_item = self.items.pop(item.jid) except KeyError: pass else: self._remove_from_groups(old_item, old_item.groups) self.on_entry_removed(old_item) else: self._update_entry(item) self.version = request.ver
def handle_roster_push(self, iq): if iq.from_: raise errors.XMPPAuthError((namespaces.stanzas, "forbidden")) request = iq.payload for item in request.items: if item.subscription == "remove": try: old_item = self.items.pop(item.jid) except KeyError: pass else: for group in old_item.groups: groupset = self.groups[group] groupset.remove(old_item) if not groupset: del self.groups[group] self.on_entry_removed(old_item) else: self._update_entry(item) self.version = request.ver