From f3a585aa94f011ae946f6325a2082dff761fd334 Mon Sep 17 00:00:00 2001 From: Goffi Date: Fri, 1 Mar 2019 12:11:16 +0100 Subject: [PATCH] jp (message/mam): added missing RSM options --- sat_frontends/jp/cmd_message.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/sat_frontends/jp/cmd_message.py b/sat_frontends/jp/cmd_message.py index bf7ca4c0..2e60e549 100644 --- a/sat_frontends/jp/cmd_message.py +++ b/sat_frontends/jp/cmd_message.py @@ -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)