From 41373f893c2b27120cef119dba3911dd1c7c7480 Mon Sep 17 00:00:00 2001 From: Goffi Date: Sun, 15 Jan 2017 16:00:41 +0100 Subject: [PATCH] quick frontend (contact list): added isSpecial and isRoom to quickly now if an entity is specific --- .../src/quick_frontend/quick_contact_list.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/frontends/src/quick_frontend/quick_contact_list.py b/frontends/src/quick_frontend/quick_contact_list.py index 1f5a7942..9ae8e81d 100644 --- a/frontends/src/quick_frontend/quick_contact_list.py +++ b/frontends/src/quick_frontend/quick_contact_list.py @@ -296,6 +296,26 @@ class ProfileContactList(object): return self._groups[group] return self._groups[group][name] + def isRoom(self, entity): + """Helper method to know if entity is a MUC room + + @param entity(jid.JID): jid of the entity + hint: use bare jid here, as room can't be full jid with MUC + @return (bool): True if entity is a room + """ + assert entity.resource is None # FIXME: this may change when MIX will be handled + return self.isSpecial(entity, C.CONTACT_SPECIAL_GROUP) + + def isSpecial(self, entity, special_type): + """Tell if an entity is of a specialy _type + + @param entity(jid.JID): jid of the special entity + if the jid is full, will be added to special extras + @param special_type: one of special type (e.g. C.CONTACT_SPECIAL_GROUP) + @return (bool): True if entity is from this special type + """ + return self.getCache(entity, C.CONTACT_SPECIAL) == special_type + def setSpecial(self, entity, special_type): """Set special flag on an entity