From 284b2e2ca766202cd6957c1ecac73060c869f600 Mon Sep 17 00:00:00 2001 From: Goffi Date: Wed, 3 Jan 2018 00:18:31 +0100 Subject: [PATCH] plugin XEP-0054: return always False in isRoom is plugin XEP-0045 is not available + raise NotFound if avatar is requested for a MUC room (not the occupants, the room itself) --- src/plugins/plugin_xep_0054.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugins/plugin_xep_0054.py b/src/plugins/plugin_xep_0054.py index e8087c30..cd5c5134 100755 --- a/src/plugins/plugin_xep_0054.py +++ b/src/plugins/plugin_xep_0054.py @@ -98,7 +98,12 @@ class XEP_0054(object): @return (bool): True if the bare jid of the entity is a room jid """ try: - self.host.plugins['XEP-0045'].checkRoomJoined(client, entity_jid.userhostJID()) + muc_plg = self.host.plugins['XEP-0045'] + except KeyError: + return False + + try: + muc_plg.checkRoomJoined(client, entity_jid.userhostJID()) except exceptions.NotFound: return False else: @@ -356,6 +361,8 @@ class XEP_0054(object): @param hash_only(bool): if True only return hash, not full path @raise exceptions.NotFound: no avatar found """ + if not entity.resource and self.isRoom(client, entity): + raise exceptions.NotFound entity = self.getBareOrFull(client, entity) full_path = None