jp (message/mam): display metadata when verbose

This commit is contained in:
Goffi 2018-12-10 20:34:45 +01:00
commit 1a9e8d8cb1

View file

@ -24,6 +24,7 @@ from sat_frontends.tools import jid
from sat.core.i18n import _
from sat.tools.utils import clean_ustr
from sat.tools.common import data_format
from sat.tools.common.ansi import ANSI as A
from functools import partial
__commands__ = ["Message"]
@ -157,7 +158,7 @@ class MAM(base.CommandBase):
def __init__(self, host):
super(MAM, self).__init__(
host, "mam", use_output=C.OUTPUT_MESS, help=_(u"query archives using MAM"))
host, "mam", use_output=C.OUTPUT_MESS, use_verbose=True, help=_(u"query archives using MAM"))
self.need_loop=True
def add_parser_options(self):
@ -177,15 +178,26 @@ class MAM(base.CommandBase):
"-M", "--max", dest="rsm_max", type=int, default=20,
help=_(u"maximum number of items to retrieve, using RSM (default: 20))"))
def _sessionInfosGetCb(self, session_info, data):
def _sessionInfosGetCb(self, session_info, data, metadata):
self.host.own_jid = jid.JID(session_info[u"jid"])
self.output(data)
# FIXME: metadata are not displayed correctly and don't play nice with output
# they should be added to output data somehow
if self.verbosity:
for value in (u"rsm_first", u"rsm_last", u"rsm_index", u"rsm_count",
u"mam_complete", u"mam_stable"):
if value in metadata:
label = value.split(u"_")[1]
self.disp(A.color(
C.A_HEADER, label, u': ' , A.RESET, metadata[value]))
self.host.quit()
def _MAMGetCb(self, result):
data, profile = result
data, metadata, profile = result
self.host.bridge.sessionInfosGet(self.profile,
callback=partial(self._sessionInfosGetCb, data=data), errback=self.errback)
callback=partial(self._sessionInfosGetCb, data=data, metadata=metadata),
errback=self.errback)
def start(self):
if self.args.mam_start is None: