jp (message/mam): display metadata when verbose
This commit is contained in:
parent
c77bc72490
commit
1a9e8d8cb1
1 changed files with 16 additions and 4 deletions
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in a new issue