(models []*ModelInfo, excluded []string)
| 2320 | } |
| 2321 | |
| 2322 | func applyExcludedModels(models []*ModelInfo, excluded []string) []*ModelInfo { |
| 2323 | if len(models) == 0 || len(excluded) == 0 { |
| 2324 | return models |
| 2325 | } |
| 2326 | |
| 2327 | patterns := make([]string, 0, len(excluded)) |
| 2328 | for _, item := range excluded { |
| 2329 | if trimmed := strings.TrimSpace(item); trimmed != "" { |
| 2330 | patterns = append(patterns, strings.ToLower(trimmed)) |
| 2331 | } |
| 2332 | } |
| 2333 | if len(patterns) == 0 { |
| 2334 | return models |
| 2335 | } |
| 2336 | |
| 2337 | filtered := make([]*ModelInfo, 0, len(models)) |
| 2338 | for _, model := range models { |
| 2339 | if model == nil { |
| 2340 | continue |
| 2341 | } |
| 2342 | modelID := strings.ToLower(strings.TrimSpace(model.ID)) |
| 2343 | blocked := false |
| 2344 | for _, pattern := range patterns { |
| 2345 | if matchWildcard(pattern, modelID) { |
| 2346 | blocked = true |
| 2347 | break |
| 2348 | } |
| 2349 | } |
| 2350 | if !blocked { |
| 2351 | filtered = append(filtered, model) |
| 2352 | } |
| 2353 | } |
| 2354 | return filtered |
| 2355 | } |
| 2356 | |
| 2357 | func applyModelPrefixes(models []*ModelInfo, prefix string, forceModelPrefix bool) []*ModelInfo { |
| 2358 | trimmedPrefix := strings.TrimSpace(prefix) |
no test coverage detected