diff --git a/sat_frontends/jp/cmd_message.py b/sat_frontends/jp/cmd_message.py index 23645c25..078e71aa 100644 --- a/sat_frontends/jp/cmd_message.py +++ b/sat_frontends/jp/cmd_message.py @@ -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: