Skip to content

Commit ff4910a

Browse files
committed
Hide missing resources from get CLI command
1 parent e91b21b commit ff4910a

File tree

2 files changed

+82
-35
lines changed

2 files changed

+82
-35
lines changed

cli/cmd/get.go

Lines changed: 67 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -193,106 +193,99 @@ func resourceByNameAndTypeStr(resourceName string, resourceType resource.Type, r
193193

194194
func allResourcesStr(resourcesRes *schema.GetResourcesResponse) string {
195195
out := ""
196-
out += titleStr("Python Packages")
197196
out += pythonPackagesStr(resourcesRes.DataStatuses, resourcesRes.Context)
198-
out += titleStr("Raw Columns")
199197
out += rawColumnsStr(resourcesRes.DataStatuses, resourcesRes.Context)
200-
out += titleStr("Aggregates")
201198
out += aggregatesStr(resourcesRes.DataStatuses, resourcesRes.Context)
202-
out += titleStr("Transformed Columns")
203199
out += transformedColumnsStr(resourcesRes.DataStatuses, resourcesRes.Context)
204-
out += titleStr("Training Datasets")
205200
out += trainingDataStr(resourcesRes.DataStatuses, resourcesRes.Context)
206-
out += titleStr("Models")
207201
out += modelsStr(resourcesRes.DataStatuses, resourcesRes.Context)
208-
out += titleStr("APIs")
209202
out += apisStr(resourcesRes.APIGroupStatuses)
210203
return out
211204
}
212205

213206
func pythonPackagesStr(dataStatuses map[string]*resource.DataStatus, ctx *context.Context) string {
214207
if len(ctx.PythonPackages) == 0 {
215-
return "None\n"
208+
return ""
216209
}
217210

218211
strings := make(map[string]string)
219212
for name, pythonPackage := range ctx.PythonPackages {
220213
strings[name] = dataResourceRow(name, pythonPackage, dataStatuses)
221214
}
222-
return dataResourcesHeader() + strMapToStr(strings)
215+
return titleStr("Python Packages") + dataResourcesHeader() + strMapToStr(strings)
223216
}
224217

225218
func rawColumnsStr(dataStatuses map[string]*resource.DataStatus, ctx *context.Context) string {
226219
if len(ctx.RawColumns) == 0 {
227-
return "None\n"
220+
return ""
228221
}
229222

230223
strings := make(map[string]string)
231224
for name, rawColumn := range ctx.RawColumns {
232225
strings[name] = dataResourceRow(name, rawColumn, dataStatuses)
233226
}
234-
return dataResourcesHeader() + strMapToStr(strings)
227+
return titleStr("Raw Columns") + dataResourcesHeader() + strMapToStr(strings)
235228
}
236229

237230
func aggregatesStr(dataStatuses map[string]*resource.DataStatus, ctx *context.Context) string {
238231
if len(ctx.Aggregates) == 0 {
239-
return "None\n"
232+
return ""
240233
}
241234

242235
strings := make(map[string]string)
243236
for name, aggregate := range ctx.Aggregates {
244237
strings[name] = dataResourceRow(name, aggregate, dataStatuses)
245238
}
246-
return dataResourcesHeader() + strMapToStr(strings)
239+
return titleStr("Aggregates") + dataResourcesHeader() + strMapToStr(strings)
247240
}
248241

249242
func transformedColumnsStr(dataStatuses map[string]*resource.DataStatus, ctx *context.Context) string {
250243
if len(ctx.TransformedColumns) == 0 {
251-
return "None\n"
244+
return ""
252245
}
253246

254247
strings := make(map[string]string)
255248
for name, transformedColumn := range ctx.TransformedColumns {
256249
strings[name] = dataResourceRow(name, transformedColumn, dataStatuses)
257250
}
258-
return dataResourcesHeader() + strMapToStr(strings)
251+
return titleStr("Transformed Columns") + dataResourcesHeader() + strMapToStr(strings)
259252
}
260253

261254
func trainingDataStr(dataStatuses map[string]*resource.DataStatus, ctx *context.Context) string {
262255
if len(ctx.Models) == 0 {
263-
return "None\n"
256+
return ""
264257
}
265258

266259
strings := make(map[string]string)
267260
for _, model := range ctx.Models {
268261
name := model.Dataset.Name
269262
strings[name] = dataResourceRow(name, model.Dataset, dataStatuses)
270263
}
271-
return dataResourcesHeader() + strMapToStr(strings)
264+
return titleStr("Training Datasets") + dataResourcesHeader() + strMapToStr(strings)
272265
}
273266

274267
func modelsStr(dataStatuses map[string]*resource.DataStatus, ctx *context.Context) string {
275268
if len(ctx.Models) == 0 {
276-
return "None\n"
269+
return ""
277270
}
278271

279272
strings := make(map[string]string)
280273
for name, model := range ctx.Models {
281274
strings[name] = dataResourceRow(name, model, dataStatuses)
282275
}
283-
return dataResourcesHeader() + strMapToStr(strings)
276+
return titleStr("Models") + dataResourcesHeader() + strMapToStr(strings)
284277
}
285278

286279
func apisStr(apiGroupStatuses map[string]*resource.APIGroupStatus) string {
287280
if len(apiGroupStatuses) == 0 {
288-
return "None\n"
281+
return ""
289282
}
290283

291284
strings := make(map[string]string)
292285
for name, apiGroupStatus := range apiGroupStatuses {
293286
strings[name] = apiResourceRow(apiGroupStatus)
294287
}
295-
return apisHeader() + strMapToStr(strings)
288+
return titleStr("APIs") + apisHeader() + strMapToStr(strings)
296289
}
297290

298291
func describePythonPackage(name string, resourcesRes *schema.GetResourcesResponse) (string, error) {
@@ -521,14 +514,53 @@ func titleStr(title string) string {
521514
}
522515

523516
func resourceStatusesStr(resourcesRes *schema.GetResourcesResponse) string {
517+
ctx := resourcesRes.Context
518+
var titles, values []string
519+
520+
if len(ctx.PythonPackages) != 0 {
521+
titles = append(titles, "Python Packages")
522+
values = append(values, pythonPackageStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context))
523+
}
524+
525+
if len(ctx.RawColumns) != 0 {
526+
titles = append(titles, "Raw Columns")
527+
values = append(values, rawColumnStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context))
528+
}
529+
530+
if len(ctx.Aggregates) != 0 {
531+
titles = append(titles, "Aggregates")
532+
values = append(values, aggregateStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context))
533+
}
534+
535+
if len(ctx.TransformedColumns) != 0 {
536+
titles = append(titles, "Transformed Columns")
537+
values = append(values, transformedColumnStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context))
538+
}
539+
540+
if len(ctx.Models) != 0 {
541+
titles = append(titles, "Training Datasets")
542+
values = append(values, trainingDatasetStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context))
543+
}
544+
545+
if len(ctx.Models) != 0 {
546+
titles = append(titles, "Models")
547+
values = append(values, modelStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context))
548+
}
549+
550+
if len(resourcesRes.APIGroupStatuses) != 0 {
551+
titles = append(titles, "APIs")
552+
values = append(values, apiStatusesStr(resourcesRes.APIGroupStatuses))
553+
}
554+
555+
maxTitleLen := s.MaxLen(titles...)
556+
524557
out := "\n"
525-
out += pythonPackageStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context) + "\n"
526-
out += rawColumnStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context) + "\n"
527-
out += aggregateStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context) + "\n"
528-
out += transformedColumnStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context) + "\n"
529-
out += trainingDatasetStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context) + "\n"
530-
out += modelStatusesStr(resourcesRes.DataStatuses, resourcesRes.Context) + "\n"
531-
out += apiStatusesStr(resourcesRes.APIGroupStatuses)
558+
for i, title := range titles {
559+
paddingWidth := maxTitleLen - len(title) + 3
560+
padding := strings.Repeat(" ", paddingWidth)
561+
out += title + ":" + padding + values[i] + "\n"
562+
}
563+
532564
return out
533565
}
534566

@@ -539,7 +571,7 @@ func pythonPackageStatusesStr(dataStatuses map[string]*resource.DataStatus, ctx
539571
statuses[i] = dataStatuses[pythonPackage.GetID()]
540572
i++
541573
}
542-
return "Python Packages: " + StatusStr(statuses)
574+
return StatusStr(statuses)
543575
}
544576

545577
func rawColumnStatusesStr(dataStatuses map[string]*resource.DataStatus, ctx *context.Context) string {
@@ -549,7 +581,7 @@ func rawColumnStatusesStr(dataStatuses map[string]*resource.DataStatus, ctx *con
549581
statuses[i] = dataStatuses[rawColumn.GetID()]
550582
i++
551583
}
552-
return "Raw Columns: " + StatusStr(statuses)
584+
return StatusStr(statuses)
553585
}
554586

555587
func aggregateStatusesStr(dataStatuses map[string]*resource.DataStatus, ctx *context.Context) string {
@@ -559,7 +591,7 @@ func aggregateStatusesStr(dataStatuses map[string]*resource.DataStatus, ctx *con
559591
statuses[i] = dataStatuses[aggregate.GetID()]
560592
i++
561593
}
562-
return "Aggregates: " + StatusStr(statuses)
594+
return StatusStr(statuses)
563595
}
564596

565597
func transformedColumnStatusesStr(dataStatuses map[string]*resource.DataStatus, ctx *context.Context) string {
@@ -569,7 +601,7 @@ func transformedColumnStatusesStr(dataStatuses map[string]*resource.DataStatus,
569601
statuses[i] = dataStatuses[transformedColumn.GetID()]
570602
i++
571603
}
572-
return "Transformed Columns: " + StatusStr(statuses)
604+
return StatusStr(statuses)
573605
}
574606

575607
func trainingDatasetStatusesStr(dataStatuses map[string]*resource.DataStatus, ctx *context.Context) string {
@@ -579,7 +611,7 @@ func trainingDatasetStatusesStr(dataStatuses map[string]*resource.DataStatus, ct
579611
statuses[i] = dataStatuses[model.Dataset.GetID()]
580612
i++
581613
}
582-
return "Training Datasets: " + StatusStr(statuses)
614+
return StatusStr(statuses)
583615
}
584616

585617
func modelStatusesStr(dataStatuses map[string]*resource.DataStatus, ctx *context.Context) string {
@@ -589,7 +621,7 @@ func modelStatusesStr(dataStatuses map[string]*resource.DataStatus, ctx *context
589621
statuses[i] = dataStatuses[model.GetID()]
590622
i++
591623
}
592-
return "Models: " + StatusStr(statuses)
624+
return StatusStr(statuses)
593625
}
594626

595627
func apiStatusesStr(apiGroupStatuses map[string]*resource.APIGroupStatus) string {
@@ -599,7 +631,7 @@ func apiStatusesStr(apiGroupStatuses map[string]*resource.APIGroupStatus) string
599631
statuses[i] = apiGroupStatus
600632
i++
601633
}
602-
return "APIs: " + StatusStr(statuses)
634+
return StatusStr(statuses)
603635
}
604636

605637
func StatusStr(statuses []resource.Status) string {

pkg/lib/strings/operations.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,21 @@ func LongestCommonPrefix(strs ...string) string {
8585
return prefix
8686
}
8787

88+
func MaxLen(strs ...string) int {
89+
if len(strs) == 0 {
90+
return 0
91+
}
92+
93+
maxLen := len(strs[0])
94+
for _, str := range strs {
95+
if len(str) > maxLen {
96+
maxLen = len(str)
97+
}
98+
}
99+
100+
return maxLen
101+
}
102+
88103
func TrimPrefixIfPresentInAll(strs []string, prefix string) ([]string, bool) {
89104
if prefix == "" {
90105
return strs, false

0 commit comments

Comments
 (0)