Add code for reading TOML config files

main
Jasper Bok 2023-08-24 21:18:25 +02:00
parent 8df1ac94b5
commit eb172097c4
5 changed files with 32 additions and 6 deletions

22
config.go 100644
View File

@ -0,0 +1,22 @@
package main
import (
"github.com/BurntSushi/toml"
"os"
)
type Config struct {
Quays []Quay
}
func ReadConfigFromFile(filename string) (Config, error) {
var conf Config
contents, err := os.ReadFile(filename)
if err != nil {
return conf, err
}
_, err = toml.Decode(string(contents), &conf)
return conf, err
}

2
go.mod
View File

@ -1,3 +1,5 @@
module git.jasperbok.nl/jasperbok/busdepartures.git
go 1.20
require github.com/BurntSushi/toml v1.3.2

2
go.sum 100644
View File

@ -0,0 +1,2 @@
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=

View File

@ -6,10 +6,10 @@ import (
)
type Quay struct {
ID string `json:"quayid"`
Name string `json:"name"`
Town string `json:"town"`
RoutesOfInterest []Route
ID string `json:"quayid" toml:"id"`
Name string `json:"name" toml:"name"`
Town string `json:"town" toml:"town"`
RoutesOfInterest []Route `toml:"routes_of_interest"`
}
func (q Quay) IsInterestingDeparture(d Departure) bool {

View File

@ -1,6 +1,6 @@
package main
type Route struct {
RouteShortName string `json:"route_short_name"`
RouteLongName string `json:"route_long_name"`
RouteShortName string `json:"route_short_name" toml:"short_name"`
RouteLongName string `json:"route_long_name" toml:"long_name"`
}