plugin invitations: added getInvitation method, it return invitation data and raise an error if it is not found

This commit is contained in:
Goffi 2017-03-29 19:42:42 +02:00
commit f12d873897

View file

@ -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_]