diff --git a/src/plugins/plugin_misc_invitations.py b/src/plugins/plugin_misc_invitations.py index e5ce6f33..132419e8 100644 --- a/src/plugins/plugin_misc_invitations.py +++ b/src/plugins/plugin_misc_invitations.py @@ -72,6 +72,10 @@ class InvitationsPlugin(object): host.bridge.addMethod("invitationCreate", ".plugin", in_sign='sssssssssa{ss}s', out_sign='a{ss}', method=self._createInvitation, async=True) + host.bridge.addMethod("invitationGet", ".plugin", in_sign='s', out_sign='a{ss}', + method=self.getInvitation, + async=True) + def _createInvitation(self, jid_=u'', password=u'', name=u'', host_name=u'', email=u'', language=u'', url_template=u'', message_subject=u'', message_body=u'', extra=None, profile=u''): # XXX: we don't use **kwargs here to keep arguments name for introspection with D-Bus bridge @@ -259,3 +263,12 @@ class InvitationsPlugin(object): extra[KEY_ID] = id_ extra[KEY_JID] = jid defer.returnValue(extra) + + def getInvitation(self, id_): + """Retrieve invitation linked to uuid if it exists + + @param id_(unicode): UUID linked to an invitation + @return dict(unicode, unicode): data associated to the invitation + @raise KeyError: there is not invitation with this id_ + """ + return self.invitations[id_]