Mercurial > libervia-backend
changeset 2542:100563768196
jp (merge/get): "get" command first draft:
get allows to retrieve a merge request, to display it. By default it only display "id", "title" and "body" ; verbosity must be augmented to display more.
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 29 Mar 2018 09:09:33 +0200 |
parents | 65695b9343d3 |
children | 60758de1c227 |
files | frontends/src/jp/cmd_merge_request.py |
diffstat | 1 files changed, 37 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/frontends/src/jp/cmd_merge_request.py Thu Mar 29 09:09:32 2018 +0200 +++ b/frontends/src/jp/cmd_merge_request.py Thu Mar 29 09:09:33 2018 +0200 @@ -21,6 +21,7 @@ import base from sat.core.i18n import _ from sat_frontends.jp.constants import Const as C +from sat_frontends.jp import xmlui_manager from functools import partial import os.path @@ -63,8 +64,43 @@ exit_code=C.EXIT_BRIDGE_ERRBACK)) +class Get(base.CommandBase): + + def __init__(self, host): + base.CommandBase.__init__(self, host, 'get', use_pubsub=True, pubsub_flags={C.MULTI_ITEMS}, use_verbose=True, help=_(u'get a merge request')) + self.need_loop=True + + def add_parser_options(self): + pass + + def mergeRequestGetCb(self, requests_data): + if self.verbosity >= 1: + whitelist = None + else: + whitelist = {'id', 'title', 'body'} + for request_xmlui in requests_data[0]: + xmlui = xmlui_manager.create(self.host, request_xmlui, whitelist=whitelist) + xmlui.show(values_only=True) + self.host.quit(C.EXIT_OK) + + def start(self): + extra = {} + self.host.bridge.mergeRequestsGet( + self.args.service, + self.args.node, + self.args.max, + self.args.items, + u'', + extra, + self.profile, + callback=self.mergeRequestGetCb, + errback=partial(self.errback, + msg=_(u"can't get merge request: {}"), + exit_code=C.EXIT_BRIDGE_ERRBACK)) + + class MergeRequest(base.CommandBase): - subcommands = (Set,) + subcommands = (Set, Get) def __init__(self, host): super(MergeRequest, self).__init__(host, 'merge-request', use_profile=False, help=_('merge-request management'))