Mercurial > libervia-backend
comparison sat_frontends/jp/cmd_message.py @ 2819:fd45089b3a92
jp (message/mam): added missing RSM options
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 01 Mar 2019 12:11:16 +0100 |
parents | 003b8b4b56a7 |
children | 0ae25883e223 |
comparison
equal
deleted
inserted
replaced
2818:9a7cb32836c6 | 2819:fd45089b3a92 |
---|---|
222 "-W", "--with", dest="mam_with", type=base.unicode_decoder, | 222 "-W", "--with", dest="mam_with", type=base.unicode_decoder, |
223 help=_(u"retrieve only archives with this jid")) | 223 help=_(u"retrieve only archives with this jid")) |
224 self.parser.add_argument( | 224 self.parser.add_argument( |
225 "-m", "--max", dest="rsm_max", type=int, default=20, | 225 "-m", "--max", dest="rsm_max", type=int, default=20, |
226 help=_(u"maximum number of items to retrieve, using RSM (default: 20))")) | 226 help=_(u"maximum number of items to retrieve, using RSM (default: 20))")) |
227 rsm_page_group = self.parser.add_mutually_exclusive_group() | |
228 rsm_page_group.add_argument( | |
229 "-a", "--after", dest="rsm_after", type=base.unicode_decoder, | |
230 help=_(u"find page after this item"), metavar='ITEM_ID') | |
231 rsm_page_group.add_argument( | |
232 "-b", "--before", dest="rsm_before", type=base.unicode_decoder, | |
233 help=_(u"find page before this item"), metavar='ITEM_ID') | |
234 rsm_page_group.add_argument( | |
235 "--index", dest="rsm_index", type=int, | |
236 help=_(u"index of the page to retrieve")) | |
227 | 237 |
228 def _sessionInfosGetCb(self, session_info, data, metadata): | 238 def _sessionInfosGetCb(self, session_info, data, metadata): |
229 self.host.own_jid = jid.JID(session_info[u"jid"]) | 239 self.host.own_jid = jid.JID(session_info[u"jid"]) |
230 self.output(data) | 240 self.output(data) |
231 # FIXME: metadata are not displayed correctly and don't play nice with output | 241 # FIXME: metadata are not displayed correctly and don't play nice with output |
254 } | 264 } |
255 if self.args.mam_end is not None: | 265 if self.args.mam_end is not None: |
256 extra[u"mam_end"] = float(self.args.mam_end) | 266 extra[u"mam_end"] = float(self.args.mam_end) |
257 if self.args.mam_with is not None: | 267 if self.args.mam_with is not None: |
258 extra[u"mam_with"] = self.args.mam_with | 268 extra[u"mam_with"] = self.args.mam_with |
259 if self.args.rsm_max is not None: | 269 for suff in ('max', 'after', 'before', 'index'): |
260 extra[u"rsm_max"] = self.args.rsm_max | 270 key = u'rsm_' + suff |
271 value = getattr(self.args,key) | |
272 if value is not None: | |
273 extra[key] = unicode(value) | |
261 self.host.bridge.MAMGet( | 274 self.host.bridge.MAMGet( |
262 self.args.service, data_format.serialise(extra), self.profile, | 275 self.args.service, data_format.serialise(extra), self.profile, |
263 callback=self._MAMGetCb, errback=self.errback) | 276 callback=self._MAMGetCb, errback=self.errback) |
264 | 277 |
265 | 278 |