From 9d755515492cbc04a6337f81424b6e07f90dcc5a Mon Sep 17 00:00:00 2001 From: Yethal Date: Mon, 13 Dec 2021 10:02:32 +0100 Subject: [PATCH 1/3] Update docker.nu Removed single quotes to fix parsing errors --- docker/docker.nu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker.nu b/docker/docker.nu index d4621fc..ddff89c 100644 --- a/docker/docker.nu +++ b/docker/docker.nu @@ -2,7 +2,7 @@ def docker [ ...args:string # command to be passed to the real docker command ] { - ^docker $args --format='{{json .}}'| + ^docker $args --format={{json .}}| lines| each { $it| From c8f46f188282e5b175e03ce7f8a35d09d78381d5 Mon Sep 17 00:00:00 2001 From: Yethal Date: Mon, 13 Dec 2021 11:22:59 +0100 Subject: [PATCH 2/3] Update docker.nu Labels are not their own subtable --- docker/docker.nu | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docker/docker.nu b/docker/docker.nu index ddff89c..8804bf8 100644 --- a/docker/docker.nu +++ b/docker/docker.nu @@ -7,5 +7,11 @@ def docker [ each { $it| from json + }| + update Labels { + get Labels| + split row ','| + where ($it|str starts-with ' ') == $false| + split column '=' name value } } From ff0017207f2af03b9968987efc9103c45fb9b42c Mon Sep 17 00:00:00 2001 From: Yethal Date: Mon, 13 Dec 2021 11:45:55 +0100 Subject: [PATCH 3/3] Check for Labels existence Run Labels reformatting conditionally as not all docker commands return that field --- docker/docker.nu | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/docker/docker.nu b/docker/docker.nu index 8804bf8..ac498f8 100644 --- a/docker/docker.nu +++ b/docker/docker.nu @@ -2,12 +2,17 @@ def docker [ ...args:string # command to be passed to the real docker command ] { - ^docker $args --format={{json .}}| - lines| - each { - $it| - from json - }| + let data = (^docker $args --format={{json .}}|lines|each {$it|from json}) + if Labels in ($data|get) { + $data|docker labels + } { + $data + } + +} + +# subcommand used to reformat docker labels into their own table +def 'docker labels' [] { update Labels { get Labels| split row ','|