From 514f4e028569f0a5ca19d167a29adbc7cfb17fc7 Mon Sep 17 00:00:00 2001 From: Goffi Date: Fri, 30 Mar 2018 17:53:57 +0200 Subject: [PATCH] jp (merge-request/import): added import command --- frontends/src/jp/cmd_merge_request.py | 31 ++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/frontends/src/jp/cmd_merge_request.py b/frontends/src/jp/cmd_merge_request.py index f7e3bbb1..0dc687cf 100644 --- a/frontends/src/jp/cmd_merge_request.py +++ b/frontends/src/jp/cmd_merge_request.py @@ -99,8 +99,37 @@ class Get(base.CommandBase): exit_code=C.EXIT_BRIDGE_ERRBACK)) + +class Import(base.CommandBase): + + def __init__(self, host): + base.CommandBase.__init__(self, host, 'import', use_pubsub=True, pubsub_flags={C.SINGLE_ITEM}, help=_(u'import a merge request')) + self.need_loop=True + + def add_parser_options(self): + self.parser.add_argument("-r", "--repository", metavar="PATH", type=base.unicode_decoder, default=u'.', help=_(u"path of the repository (DEFAULT: current directory)")) + + def mergeRequestImportCb(self): + self.host.quit(C.EXIT_OK) + + def start(self): + repository = os.path.expanduser(os.path.abspath(self.args.repository)) + extra = {} + self.host.bridge.mergeRequestsImport( + repository, + self.args.item, + self.args.service, + self.args.node, + extra, + self.profile, + callback=self.mergeRequestImportCb, + errback=partial(self.errback, + msg=_(u"can't import merge request: {}"), + exit_code=C.EXIT_BRIDGE_ERRBACK)) + + class MergeRequest(base.CommandBase): - subcommands = (Set, Get) + subcommands = (Set, Get, Import) def __init__(self, host): super(MergeRequest, self).__init__(host, 'merge-request', use_profile=False, help=_('merge-request management'))