package generator import ( "errors" "log" "os" "text/template" "git.vvoid.camp/cisgo/pkg/config" ) type Generator struct { Config config.Config Template *template.Template } func NewGenerator(config config.Config, template *template.Template) *Generator { return &Generator{ Config: config, Template: template, } } func (g *Generator) generateAP(ap config.AccessPoint, outputdir string) error { f, err := os.Create(outputdir + "/" + ap.Name + ".txt") if err != nil { return errors.New("Could not create file: " + err.Error()) } defer f.Close() err = g.Template.Execute(f, ap) if err != nil { return errors.New("Could not execute template: " + err.Error()) } return nil } func (g *Generator) Generate(outputdir string) error { for _, ap := range g.Config.AccessPoints { log.Println("Generating AP: " + ap.Name) err := g.generateAP(ap, outputdir) if err != nil { return errors.New("Error generating AP " + ap.Name + ": " + err.Error()) } } return nil }