jp (message/mam): added missing RSM options

This commit is contained in:
Goffi 2019-03-01 12:11:16 +01:00
commit f3a585aa94

View file

@ -224,6 +224,16 @@ class MAM(base.CommandBase):
self.parser.add_argument(
"-m", "--max", dest="rsm_max", type=int, default=20,
help=_(u"maximum number of items to retrieve, using RSM (default: 20))"))
rsm_page_group = self.parser.add_mutually_exclusive_group()
rsm_page_group.add_argument(
"-a", "--after", dest="rsm_after", type=base.unicode_decoder,
help=_(u"find page after this item"), metavar='ITEM_ID')
rsm_page_group.add_argument(
"-b", "--before", dest="rsm_before", type=base.unicode_decoder,
help=_(u"find page before this item"), metavar='ITEM_ID')
rsm_page_group.add_argument(
"--index", dest="rsm_index", type=int,
help=_(u"index of the page to retrieve"))
def _sessionInfosGetCb(self, session_info, data, metadata):
self.host.own_jid = jid.JID(session_info[u"jid"])
@ -256,8 +266,11 @@ class MAM(base.CommandBase):
extra[u"mam_end"] = float(self.args.mam_end)
if self.args.mam_with is not None:
extra[u"mam_with"] = self.args.mam_with
if self.args.rsm_max is not None:
extra[u"rsm_max"] = self.args.rsm_max
for suff in ('max', 'after', 'before', 'index'):
key = u'rsm_' + suff
value = getattr(self.args,key)
if value is not None:
extra[key] = unicode(value)
self.host.bridge.MAMGet(
self.args.service, data_format.serialise(extra), self.profile,
callback=self._MAMGetCb, errback=self.errback)