mirror of https://github.com/k3s-io/k3s
outputs <none> for colums not found
parent
e33dd983ed
commit
091a9dfc35
|
@ -176,7 +176,7 @@ func (s *CustomColumnsPrinter) PrintObj(obj runtime.Object, out io.Writer) error
|
||||||
}
|
}
|
||||||
parsers := make([]*jsonpath.JSONPath, len(s.Columns))
|
parsers := make([]*jsonpath.JSONPath, len(s.Columns))
|
||||||
for ix := range s.Columns {
|
for ix := range s.Columns {
|
||||||
parsers[ix] = jsonpath.New(fmt.Sprintf("column%d", ix))
|
parsers[ix] = jsonpath.New(fmt.Sprintf("column%d", ix)).AllowMissingKeys(true)
|
||||||
if err := parsers[ix].Parse(s.Columns[ix].FieldSpec); err != nil {
|
if err := parsers[ix].Parse(s.Columns[ix].FieldSpec); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -226,10 +226,10 @@ func (s *CustomColumnsPrinter) printOneObject(obj runtime.Object, parsers []*jso
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if len(values) == 0 || len(values[0]) == 0 {
|
|
||||||
fmt.Fprintf(out, "<none>\t")
|
|
||||||
}
|
|
||||||
valueStrings := []string{}
|
valueStrings := []string{}
|
||||||
|
if len(values) == 0 || len(values[0]) == 0 {
|
||||||
|
valueStrings = append(valueStrings, "<none>")
|
||||||
|
}
|
||||||
for arrIx := range values {
|
for arrIx := range values {
|
||||||
for valIx := range values[arrIx] {
|
for valIx := range values[arrIx] {
|
||||||
valueStrings = append(valueStrings, fmt.Sprintf("%v", values[arrIx][valIx].Interface()))
|
valueStrings = append(valueStrings, fmt.Sprintf("%v", values[arrIx][valIx].Interface()))
|
||||||
|
|
|
@ -284,6 +284,26 @@ bar
|
||||||
obj: &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}, TypeMeta: metav1.TypeMeta{APIVersion: "baz"}},
|
obj: &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}, TypeMeta: metav1.TypeMeta{APIVersion: "baz"}},
|
||||||
expectedOutput: `NAME API_VERSION
|
expectedOutput: `NAME API_VERSION
|
||||||
foo baz
|
foo baz
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
columns: []printers.Column{
|
||||||
|
{
|
||||||
|
Header: "NAME",
|
||||||
|
FieldSpec: "{.metadata.name}",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Header: "API_VERSION",
|
||||||
|
FieldSpec: "{.apiVersion}",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Header: "NOT_FOUND",
|
||||||
|
FieldSpec: "{.notFound}",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
obj: &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "foo"}, TypeMeta: metav1.TypeMeta{APIVersion: "baz"}},
|
||||||
|
expectedOutput: `NAME API_VERSION NOT_FOUND
|
||||||
|
foo baz <none>
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue