diff options
Diffstat (limited to 'icktool')
-rwxr-xr-x | icktool | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -148,6 +148,10 @@ class Icktool(cliapp.Application): cmd = self._command(ShowLatestLogCommand) cmd.execute(args) + def cmd_get_artifact(self, args): + cmd = self._command(GetArtifactCommand) + cmd.execute(args) + def _command(self, klass): api = self._new_api() token = self._new_token(api) @@ -487,4 +491,15 @@ class ShowLatestLogCommand(Command): return None +class GetArtifactCommand(Command): + + def execute(self, args): + if not args: + raise Exception('Must give blob id as argument') + blob_id = args[0] + path = '/blobs/{}'.format(blob_id) + blob = self.api.show_blob(path) + sys.stdout.buffer.write(blob) + + Icktool(version=ick2.__version__).run() |