From 439f1cfd4d22bacf0be737c81a9c7c79b1d787ef Mon Sep 17 00:00:00 2001 From: vishal Date: Fri, 26 Jul 2019 15:06:48 +0000 Subject: [PATCH] Tweak cx get verbose output --- cli/cmd/get.go | 76 ++++++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 37 deletions(-) diff --git a/cli/cmd/get.go b/cli/cmd/get.go index d6c3f266f4..691d849b5b 100644 --- a/cli/cmd/get.go +++ b/cli/cmd/get.go @@ -472,6 +472,8 @@ func describeAPI(name string, resourcesRes *schema.GetResourcesResponse, flagVer out += titleStr("Model Input Signature") + out += describeModelInput(groupStatus, apiEndpoint) + if modelName, ok := yaml.ExtractAtSymbolText(api.Model); ok { model := ctx.Models[modelName] resIDs := strset.New() @@ -489,51 +491,51 @@ func describeAPI(name string, resourcesRes *schema.GetResourcesResponse, flagVer } sort.Strings(samplePlaceholderFields) samplesPlaceholderStr := `{ "samples": [ { ` + strings.Join(samplePlaceholderFields, ", ") + " } ] }" - out += "Payload: " + samplesPlaceholderStr + "\n" - } else { - if groupStatus.Available() == 0 { - out += "Waiting for API to be ready" - return out, nil - } + out += "\n\nPayload: " + samplesPlaceholderStr + } - modelInput, err := getModelInput(urls.Join(apiEndpoint, "signature")) - if err != nil { - out += "Waiting for API to be ready" - return out, nil - } + return out, nil +} - rows := make([][]interface{}, len(modelInput.Signature)) - rowNum := 0 - for inputName, featureSignature := range modelInput.Signature { - shapeStr := make([]string, len(featureSignature.Shape)) - for idx, dim := range featureSignature.Shape { - if dim == 0 { - shapeStr[idx] = "?" - } else { - shapeStr[idx] = s.Int(dim) - } - } - rows[rowNum] = []interface{}{ - inputName, - featureSignature.Type, - s.ObjFlatNoQuotes(shapeStr), +func describeModelInput(groupStatus *resource.APIGroupStatus, apiEndpoint string) string { + if groupStatus.Available() == 0 { + return "Waiting for API to be ready" + } + + modelInput, err := getModelInput(urls.Join(apiEndpoint, "signature")) + if err != nil { + return "Waiting for API to be ready" + } + + rows := make([][]interface{}, len(modelInput.Signature)) + rowNum := 0 + for inputName, featureSignature := range modelInput.Signature { + shapeStr := make([]string, len(featureSignature.Shape)) + for idx, dim := range featureSignature.Shape { + if dim == 0 { + shapeStr[idx] = "?" + } else { + shapeStr[idx] = s.Int(dim) } - rowNum++ } - - t := table.Table{ - Headers: []table.Header{ - {Title: "FEATURE", MaxWidth: 32}, - {Title: "TYPE", MaxWidth: 10}, - {Title: "SHAPE", MaxWidth: 20}, - }, - Rows: rows, + rows[rowNum] = []interface{}{ + inputName, + featureSignature.Type, + "(" + strings.Join(shapeStr, ", ") + ")", } + rowNum++ + } - out += table.MustFormat(t) + t := table.Table{ + Headers: []table.Header{ + {Title: "FEATURE", MaxWidth: 32}, + {Title: "TYPE", MaxWidth: 10}, + {Title: "SHAPE", MaxWidth: 20}, + }, + Rows: rows, } - return out, nil + return table.MustFormat(t) } func getModelInput(infoAPIPath string) (*schema.ModelInput, error) {