mirror of
https://github.com/kubescape/kubescape.git
synced 2026-02-14 18:09:55 +00:00
45 lines
894 B
Go
45 lines
894 B
Go
package cautils
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
const ValueNotFound = -1
|
|
|
|
func ConvertLabelsToString(labels map[string]string) string {
|
|
labelsStr := ""
|
|
delimiter := ""
|
|
for k, v := range labels {
|
|
labelsStr += fmt.Sprintf("%s%s=%s", delimiter, k, v)
|
|
delimiter = ";"
|
|
}
|
|
return labelsStr
|
|
}
|
|
|
|
// ConvertStringToLabels convert a string "a=b;c=d" to map: {"a":"b", "c":"d"}
|
|
func ConvertStringToLabels(labelsStr string) map[string]string {
|
|
labels := make(map[string]string)
|
|
labelsSlice := strings.Split(labelsStr, ";")
|
|
if len(labelsSlice)%2 != 0 {
|
|
return labels
|
|
}
|
|
for i := range labelsSlice {
|
|
kvSlice := strings.Split(labelsSlice[i], "=")
|
|
if len(kvSlice) != 2 {
|
|
continue
|
|
}
|
|
labels[kvSlice[0]] = kvSlice[1]
|
|
}
|
|
return labels
|
|
}
|
|
|
|
func StringInSlice(strSlice []string, str string) int {
|
|
for i := range strSlice {
|
|
if strSlice[i] == str {
|
|
return i
|
|
}
|
|
}
|
|
return ValueNotFound
|
|
}
|