(s string)
| 168 | } |
| 169 | |
| 170 | func parseTechList(s string) []string { |
| 171 | parts := strings.FieldsFunc(s, func(r rune) bool { |
| 172 | return r == ',' || r == ';' || r == '|' |
| 173 | }) |
| 174 | var result []string |
| 175 | for _, p := range parts { |
| 176 | p = strings.TrimSpace(p) |
| 177 | if p != "" { |
| 178 | result = append(result, p) |
| 179 | } |
| 180 | } |
| 181 | return result |
| 182 | } |
| 183 | |
| 184 | func mergeTechs(existing, incoming []string) []string { |
| 185 | set := make(map[string]bool) |