github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/cmd/imagetool/mergeFilters.go (about) 1 package main 2 3 import ( 4 "fmt" 5 6 "github.com/Cloud-Foundations/Dominator/lib/filter" 7 "github.com/Cloud-Foundations/Dominator/lib/log" 8 ) 9 10 func mergeFiltersSubcommand(args []string, logger log.DebugLogger) error { 11 if err := mergeFilters(args); err != nil { 12 return fmt.Errorf("Error merging filter: %s", err) 13 } 14 return nil 15 } 16 17 func mergeFilters(filterFiles []string) error { 18 mergeableFilter := &filter.MergeableFilter{} 19 for _, filterFile := range filterFiles { 20 filt, err := filter.Load(filterFile) 21 if err != nil { 22 return err 23 } 24 mergeableFilter.Merge(filt) 25 } 26 filt := mergeableFilter.ExportFilter() 27 for _, filterLine := range filt.FilterLines { 28 if _, err := fmt.Println(filterLine); err != nil { 29 return err 30 } 31 } 32 return nil 33 }