package Config

import (
	"flag"
	iniReader "github.com/larspensjo/config"
	log "github.com/sirupsen/logrus"
	"runtime"
)

func initIniConfig(dir string, configName string, topic string) map[string]string {
	var (
		configFile = flag.String(dir, configName, "General configuration file")
	)

	var TOPIC = make(map[string]string)
	runtime.GOMAXPROCS(runtime.NumCPU())
	flag.Parse()

	cfg, err := iniReader.ReadDefault(*configFile)
	if err != nil {
		log.Fatal("Fail to find", *configFile, err)
	}

	if cfg.HasSection(topic) {
		section, err := cfg.SectionOptions(topic)
		if err == nil {
			for _, v := range section {
				options, err := cfg.String(topic, v)
				if err == nil {
					TOPIC[v] = options
				}
			}
		}
	}

	log.Infoln(TOPIC)
	return TOPIC
}