changeset 2462:2cad04f38bac

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)
author Goffi <goffi@goffi.org>
date Wed, 03 Jan 2018 00:18:31 +0100 (2018-01-02)
parents 34cb8b713370
children 65a6d2496504
files src/plugins/plugin_xep_0054.py
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/plugin_xep_0054.py	Wed Jan 03 00:16:23 2018 +0100
+++ b/src/plugins/plugin_xep_0054.py	Wed Jan 03 00:18:31 2018 +0100
@@ -98,7 +98,12 @@
         @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 @@
         @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