From b9e06f2310f675ccdbf4860b1bcfe61362c6c345 Mon Sep 17 00:00:00 2001 From: Roxie Gibson Date: Sat, 17 Jul 2021 09:27:34 +0100 Subject: [PATCH] feat: added util formatting for the cil --- cli/formatter.go | 30 ++++++++++++++++++++++++++++++ go.mod | 2 ++ go.sum | 4 ++++ 3 files changed, 36 insertions(+) create mode 100644 cli/formatter.go diff --git a/cli/formatter.go b/cli/formatter.go new file mode 100644 index 00000000..32497c79 --- /dev/null +++ b/cli/formatter.go @@ -0,0 +1,30 @@ +package cli + +import ( + "fmt" + "strings" + "time" + + "github.com/docker/cli/cli/command/formatter" + "github.com/docker/go-units" +) + +func shortenID(str string) string { + return str[:12] +} + +func truncate(str string) string { + return fmt.Sprintf(`"%s"`, formatter.Ellipsis(str, 19)) +} + +// removeSha remove image sha from a string that are added in some docker outputs +func removeSha(str string) string { + return strings.Split(str, "@")[0] +} + +// humanDuration from docker/cli RunningFor() to be accessable outside of the class +func humanDuration(timestamp int64) string { + date := time.Unix(timestamp, 0) + now := time.Now().UTC() + return units.HumanDuration(now.Sub(date)) + " ago" +} diff --git a/go.mod b/go.mod index 58d630d3..cab5f6bc 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,9 @@ require ( github.com/docker/cli v20.10.7+incompatible github.com/docker/docker v20.10.7+incompatible github.com/docker/go-connections v0.4.0 // indirect + github.com/docker/go-units v0.4.0 // indirect github.com/morikuni/aec v1.0.0 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/schultz-is/passgen v1.0.1 github.com/urfave/cli/v2 v2.3.0 //ct ) diff --git a/go.sum b/go.sum index b8920229..30f364ba 100644 --- a/go.sum +++ b/go.sum @@ -395,6 +395,8 @@ github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHef github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= @@ -424,6 +426,8 @@ github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=