def on_tag(self): widget, idx = self.listing.get_focus() name, tag = split_repo_name(widget.tag) prompt = Prompt(lambda name: self.perform_tag(widget.image, name), title="Tag Image", initial=name) self.show_dialog(prompt)
def push(self): widget, idx = self.listing.get_focus() name, tag = split_repo_name(widget.tag) highlighter.apply(widget, "uploading", "uploading_focus") d = threads.deferToThread(app.client.push, name) def handle_response(r): r = r.replace("}{", "},{") r = r.replace('1)"}', '1)"},') r = r.replace('2)"}', '2)"},') r = "[%s]" % r messages = [d.get("status") or d.get("error") for d in json.loads(r)] self.show_dialog(MessageListBox(messages, title="Push Response", width=100)) reactor.callLater(5.0, highlighter.remove, widget) d.addCallback(handle_response) return d
def push(self): widget, idx = self.listing.get_focus() name, tag = split_repo_name(widget.tag) highlighter.apply(widget, 'uploading', 'uploading_focus') d = threads.deferToThread(app.client.push, name) def handle_response(r): r = r.replace("}{", "},{") r = r.replace("1)\"}", "1)\"},") r = r.replace("2)\"}", "2)\"},") r = "[%s]" % r messages = [ d.get('status') or d.get('error') for d in json.loads(r) ] self.show_dialog( MessageListBox(messages, title='Push Response', width=100)) reactor.callLater(5.0, highlighter.remove, widget) d.addCallback(handle_response) return d
def perform_pull(self, repo_name): name, tag = split_repo_name(repo_name) self.close_dialog() return threads.deferToThread(app.client.pull, name, tag or 'latest')
def perform_tag(self, image, repo_name): name, tag = split_repo_name(repo_name) repo_name = name + ":" + (tag or 'latest') self.close_dialog() return threads.deferToThread(app.client.tag, image, name, tag or 'latest')
def perform_pull(self, repo_name): name, tag = split_repo_name(repo_name) self.close_dialog() return threads.deferToThread(app.client.pull, name, tag or "latest")
def perform_tag(self, image, repo_name): name, tag = split_repo_name(repo_name) repo_name = name + ":" + (tag or "latest") self.close_dialog() return threads.deferToThread(app.client.tag, image, name, tag or "latest")