comparison frontends/src/jp/cmd_merge_request.py @ 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 772447ec070f
children 2df1ca79cb30
comparison
equal deleted inserted replaced
2541:65695b9343d3 2542:100563768196
19 19
20 20
21 import base 21 import base
22 from sat.core.i18n import _ 22 from sat.core.i18n import _
23 from sat_frontends.jp.constants import Const as C 23 from sat_frontends.jp.constants import Const as C
24 from sat_frontends.jp import xmlui_manager
24 from functools import partial 25 from functools import partial
25 import os.path 26 import os.path
26 27
27 __commands__ = ["MergeRequest"] 28 __commands__ = ["MergeRequest"]
28 29
61 errback=partial(self.errback, 62 errback=partial(self.errback,
62 msg=_(u"can't create merge request: {}"), 63 msg=_(u"can't create merge request: {}"),
63 exit_code=C.EXIT_BRIDGE_ERRBACK)) 64 exit_code=C.EXIT_BRIDGE_ERRBACK))
64 65
65 66
67 class Get(base.CommandBase):
68
69 def __init__(self, host):
70 base.CommandBase.__init__(self, host, 'get', use_pubsub=True, pubsub_flags={C.MULTI_ITEMS}, use_verbose=True, help=_(u'get a merge request'))
71 self.need_loop=True
72
73 def add_parser_options(self):
74 pass
75
76 def mergeRequestGetCb(self, requests_data):
77 if self.verbosity >= 1:
78 whitelist = None
79 else:
80 whitelist = {'id', 'title', 'body'}
81 for request_xmlui in requests_data[0]:
82 xmlui = xmlui_manager.create(self.host, request_xmlui, whitelist=whitelist)
83 xmlui.show(values_only=True)
84 self.host.quit(C.EXIT_OK)
85
86 def start(self):
87 extra = {}
88 self.host.bridge.mergeRequestsGet(
89 self.args.service,
90 self.args.node,
91 self.args.max,
92 self.args.items,
93 u'',
94 extra,
95 self.profile,
96 callback=self.mergeRequestGetCb,
97 errback=partial(self.errback,
98 msg=_(u"can't get merge request: {}"),
99 exit_code=C.EXIT_BRIDGE_ERRBACK))
100
101
66 class MergeRequest(base.CommandBase): 102 class MergeRequest(base.CommandBase):
67 subcommands = (Set,) 103 subcommands = (Set, Get)
68 104
69 def __init__(self, host): 105 def __init__(self, host):
70 super(MergeRequest, self).__init__(host, 'merge-request', use_profile=False, help=_('merge-request management')) 106 super(MergeRequest, self).__init__(host, 'merge-request', use_profile=False, help=_('merge-request management'))