diff --git a/src/plugins/plugin_xep_0050.py b/src/plugins/plugin_xep_0050.py index ae33560d..b39e3ed2 100644 --- a/src/plugins/plugin_xep_0050.py +++ b/src/plugins/plugin_xep_0050.py @@ -102,7 +102,10 @@ class AdHocCommand(XMPPHandler): return False allowed = set(self.allowed_jids) for group in self.allowed_groups: - allowed.update(self.client.roster.getJidsFromGroup(group)) + try: + allowed.update(self.client.roster.getJidsFromGroup(group)) + except exceptions.UnknownGroupError: + warning(_("The groups [%(group)s] is unknown for profile [%(profile)s])" % {'group':group, 'profile':self.client.profile})) if requestor.userhostJID() in allowed: return True return False @@ -218,7 +221,7 @@ class XEP_0050(object): return XEP_0050_handler(self) def profileConnected(self, profile): - self.addAdHocCommand(self._statusCallback, _("Status"), profile_key="@ALL@") + self.addAdHocCommand(self._statusCallback, _("Status"), profile_key=profile) def profileDisconnected(self, profile): try: @@ -413,6 +416,7 @@ class XEP_0050(object): @param profile_key: profile key associated with this command, @ALL@ means can be accessed with every profiles @return: node of the added command, useful to remove the command later """ + # FIXME: "@ALL@" for profile_key seems useless and dangerous node = node.strip() if not node: