45 lines
842 B
Go
45 lines
842 B
Go
package configs
|
|
|
|
import (
|
|
"fmt"
|
|
"io/ioutil"
|
|
"os"
|
|
|
|
"github.com/BurntSushi/toml"
|
|
)
|
|
|
|
type config Configurations
|
|
|
|
type Configurations struct {
|
|
OutputCurrencyFormat string
|
|
OutputFileFormat []string
|
|
InputFile []InputFile
|
|
QuarterlySummary bool
|
|
YearlySummary bool
|
|
DailyToMonthlyAggregationMethod string
|
|
}
|
|
|
|
type InputFile struct {
|
|
FileName string
|
|
SheetName string
|
|
Measurement string
|
|
}
|
|
|
|
func ReadConfigs(tomlFile string) Configurations {
|
|
bytesOfData, error := ioutil.ReadFile(tomlFile)
|
|
|
|
if error != nil {
|
|
fmt.Println("Error: ", error)
|
|
os.Exit(1)
|
|
}
|
|
|
|
appConfig := Configurations{}
|
|
|
|
if _, err := toml.Decode(string(bytesOfData), &appConfig); err != nil {
|
|
fmt.Println("Error: ", error)
|
|
os.Exit(1)
|
|
}
|
|
fmt.Println(appConfig)
|
|
return appConfig
|
|
}
|