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.
This commit is contained in:
Goffi 2018-03-29 09:09:33 +02:00
commit 291127e677

View file

@ -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 @@ class Set(base.CommandBase):
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'))