Mercurial > libervia-backend
diff src/plugins/plugin_xep_0249.py @ 1358:bf3f669a6052 frontends_multi_profiles
plugins XEP-0045, XEP-0249, parrot: use JID instead of unicode in many methods + class attributes
author | souliane <souliane@mailoo.org> |
---|---|
date | Wed, 11 Mar 2015 12:35:21 +0100 |
parents | 291eb8216f6e |
children | 876c9fbd0b3d |
line wrap: on
line diff
--- a/src/plugins/plugin_xep_0249.py Mon Mar 09 16:37:15 2015 +0100 +++ b/src/plugins/plugin_xep_0249.py Wed Mar 11 12:35:21 2015 +0100 @@ -120,18 +120,18 @@ #TODO: check parameters validity self.invite(jid.JID(target), jid.JID("%s@%s" % (roomId, service)), options, profile_key) - def _accept(self, room, profile_key=C.PROF_KEY_NONE): - """ - Accept the invitation to join a MUC - @param room: room jid as string + def _accept(self, room_jid, profile_key=C.PROF_KEY_NONE): + """Accept the invitation to join a MUC. + + @param room (jid.JID): JID of the room """ profile = self.host.memory.getProfileName(profile_key) if not profile: log.error(_("Profile doesn't exists !")) return - log.info(_('Invitation accepted for room %(room)s [%(profile)s]') % {'room': room, 'profile': profile}) + log.info(_('Invitation accepted for room %(room)s [%(profile)s]') % {'room': room_jid.userhost(), 'profile': profile}) _jid, xmlstream = self.host.getJidNStream(profile) - d = self.host.plugins["XEP-0045"].join(jid.JID(room), _jid.user, {}, profile) + d = self.host.plugins["XEP-0045"].join(room_jid, _jid.user, {}, profile) return d def onInvitation(self, message, profile): @@ -141,28 +141,29 @@ @profile: %(doc_profile)s """ try: - room = message.firstChildElement()['jid'] - log.info(_('Invitation received for room %(room)s [%(profile)s]') % {'room': room, 'profile': profile}) + room_jid_s = message.firstChildElement()['jid'] + log.info(_('Invitation received for room %(room)s [%(profile)s]') % {'room': room_jid_s, 'profile': profile}) except: log.error(_('Error while parsing invitation')) return - from_ = message["from"] - if room in self.host.plugins["XEP-0045"].clients[profile].joined_rooms: + from_jid_s = message["from"] + room_jid = jid.JID(room_jid_s) + if room_jid in self.host.plugins["XEP-0045"].clients[profile].joined_rooms: log.info(_("Invitation silently discarded because user is already in the room.")) return autojoin = self.host.memory.getParamA(AUTOJOIN_NAME, AUTOJOIN_KEY, profile_key=profile) def accept_cb(conf_id, accepted, data, profile): - if conf_id == room and accepted: - self._accept(room, profile) + if conf_id == room_jid_s and accepted: + self._accept(room_jid, profile) if autojoin == "always": - self._accept(room, profile) + self._accept(room_jid, profile) elif autojoin == "never": - self.host.bridge.newAlert(_("An invitation from %(user)s to join the room %(room)s has been declined according to your personal settings.") % {'user': from_, 'room': room}, _("MUC invitation"), "INFO", profile) + self.host.bridge.newAlert(_("An invitation from %(user)s to join the room %(room)s has been declined according to your personal settings.") % {'user': from_jid_s, 'room': room_jid_s}, _("MUC invitation"), "INFO", profile) else: # leave the default value here - data = {"message": _("You have been invited by %(user)s to join the room %(room)s. Do you accept?") % {'user': from_, 'room': room}, "title": _("MUC invitation")} - self.host.askConfirmation(room, "YES/NO", data, accept_cb, profile) + data = {"message": _("You have been invited by %(user)s to join the room %(room)s. Do you accept?") % {'user': from_jid_s, 'room': room_jid_s}, "title": _("MUC invitation")} + self.host.askConfirmation(room_jid_s, "YES/NO", data, accept_cb, profile) def cmd_invite(self, mess_data, profile): """invite someone in the room