Mercurial > libervia-backend
comparison frontends/src/jp/cmd_merge_request.py @ 2553:39b10475f56b
jp (merge-request): find URIs when --service and --node are not specified for get and import:
local dir is used for get, as repository is not in options.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 31 Mar 2018 18:42:01 +0200 |
parents | b27165bf160c |
children | 0062d3e79d12 |
comparison
equal
deleted
inserted
replaced
2552:38e1e29c48e9 | 2553:39b10475f56b |
---|---|
79 | 79 |
80 | 80 |
81 class Get(base.CommandBase): | 81 class Get(base.CommandBase): |
82 | 82 |
83 def __init__(self, host): | 83 def __init__(self, host): |
84 base.CommandBase.__init__(self, host, 'get', use_pubsub=True, pubsub_flags={C.MULTI_ITEMS}, use_verbose=True, help=_(u'get a merge request')) | 84 base.CommandBase.__init__(self, host, 'get', use_verbose=True, |
85 use_pubsub=True, pubsub_flags={C.MULTI_ITEMS}, | |
86 pubsub_defaults = {u'service': _(u'auto'), u'node': _(u'auto')}, | |
87 help=_(u'get a merge request')) | |
85 self.need_loop=True | 88 self.need_loop=True |
86 | 89 |
87 def add_parser_options(self): | 90 def add_parser_options(self): |
88 pass | 91 pass |
89 | 92 |
93 else: | 96 else: |
94 whitelist = {'id', 'title', 'body'} | 97 whitelist = {'id', 'title', 'body'} |
95 for request_xmlui in requests_data[0]: | 98 for request_xmlui in requests_data[0]: |
96 xmlui = xmlui_manager.create(self.host, request_xmlui, whitelist=whitelist) | 99 xmlui = xmlui_manager.create(self.host, request_xmlui, whitelist=whitelist) |
97 xmlui.show(values_only=True) | 100 xmlui.show(values_only=True) |
101 self.disp(u'') | |
98 self.host.quit(C.EXIT_OK) | 102 self.host.quit(C.EXIT_OK) |
99 | 103 |
100 def start(self): | 104 def getRequests(self): |
101 extra = {} | 105 extra = {} |
102 self.host.bridge.mergeRequestsGet( | 106 self.host.bridge.mergeRequestsGet( |
103 self.args.service, | 107 self.args.service, |
104 self.args.node, | 108 self.args.node, |
105 self.args.max, | 109 self.args.max, |
110 callback=self.mergeRequestGetCb, | 114 callback=self.mergeRequestGetCb, |
111 errback=partial(self.errback, | 115 errback=partial(self.errback, |
112 msg=_(u"can't get merge request: {}"), | 116 msg=_(u"can't get merge request: {}"), |
113 exit_code=C.EXIT_BRIDGE_ERRBACK)) | 117 exit_code=C.EXIT_BRIDGE_ERRBACK)) |
114 | 118 |
119 def start(self): | |
120 common.URIFinder(self, os.getcwd(), 'merge requests', self.getRequests) | |
115 | 121 |
116 | 122 |
117 class Import(base.CommandBase): | 123 class Import(base.CommandBase): |
118 | 124 |
119 def __init__(self, host): | 125 def __init__(self, host): |
120 base.CommandBase.__init__(self, host, 'import', use_pubsub=True, pubsub_flags={C.SINGLE_ITEM}, help=_(u'import a merge request')) | 126 base.CommandBase.__init__(self, host, 'import', |
127 use_pubsub=True, pubsub_flags={C.SINGLE_ITEM, C.ITEM}, | |
128 pubsub_defaults = {u'service': _(u'auto'), u'node': _(u'auto')}, | |
129 help=_(u'import a merge request')) | |
121 self.need_loop=True | 130 self.need_loop=True |
122 | 131 |
123 def add_parser_options(self): | 132 def add_parser_options(self): |
124 self.parser.add_argument("-r", "--repository", metavar="PATH", type=base.unicode_decoder, default=u'.', help=_(u"path of the repository (DEFAULT: current directory)")) | 133 self.parser.add_argument("-r", "--repository", metavar="PATH", type=base.unicode_decoder, default=u'.', help=_(u"path of the repository (DEFAULT: current directory)")) |
125 | 134 |
126 def mergeRequestImportCb(self): | 135 def mergeRequestImportCb(self): |
127 self.host.quit(C.EXIT_OK) | 136 self.host.quit(C.EXIT_OK) |
128 | 137 |
129 def start(self): | 138 def importRequest(self): |
130 repository = os.path.expanduser(os.path.abspath(self.args.repository)) | |
131 extra = {} | 139 extra = {} |
132 self.host.bridge.mergeRequestsImport( | 140 self.host.bridge.mergeRequestsImport( |
133 repository, | 141 self.repository, |
134 self.args.item, | 142 self.args.item, |
135 self.args.service, | 143 self.args.service, |
136 self.args.node, | 144 self.args.node, |
137 extra, | 145 extra, |
138 self.profile, | 146 self.profile, |
139 callback=self.mergeRequestImportCb, | 147 callback=self.mergeRequestImportCb, |
140 errback=partial(self.errback, | 148 errback=partial(self.errback, |
141 msg=_(u"can't import merge request: {}"), | 149 msg=_(u"can't import merge request: {}"), |
142 exit_code=C.EXIT_BRIDGE_ERRBACK)) | 150 exit_code=C.EXIT_BRIDGE_ERRBACK)) |
143 | 151 |
152 def start(self): | |
153 self.repository = os.path.expanduser(os.path.abspath(self.args.repository)) | |
154 common.URIFinder(self, self.repository, 'merge requests', self.importRequest) | |
155 | |
144 | 156 |
145 class MergeRequest(base.CommandBase): | 157 class MergeRequest(base.CommandBase): |
146 subcommands = (Set, Get, Import) | 158 subcommands = (Set, Get, Import) |
147 | 159 |
148 def __init__(self, host): | 160 def __init__(self, host): |