find-stone-beer / files / env-vars.go
env-vars.go
8da39f4a 2023-08-27 Pavel Safronov | 1 | package main |
| 2 | ||
| 3 | import ( | |
| 4 | "fmt" | |
| 5 | "os" | |
| 6 | "strconv" | |
| 7 | ||
| 8 | "github.com/jftuga/geodist" | |
| 9 | ) | |
| 10 | ||
| 11 | func GetEnvVarInteger(envVarName string, defaultIfNotSet int) int { | |
| 12 | envVarValue := os.Getenv(envVarName) | |
| 13 | if envVarValue == "" { | |
| 14 | // fmt.Printf("Environment variable %s not set, using default value of %d\n", envVarName, defaultIfNotSet) | |
| 15 | return defaultIfNotSet | |
| 16 | } | |
| 17 | intValue, err := strconv.Atoi(envVarValue) | |
| 18 | if err != nil { | |
| 19 | // fmt.Printf("Could not parse environment variable %s as integer: %s, using default value of %d\n", envVarName, err, defaultIfNotSet) | |
| 20 | return defaultIfNotSet | |
| 21 | } | |
| 22 | // fmt.Printf("Using environment variable %s value of %d\n", envVarName, intValue) | |
| 23 | return intValue | |
| 24 | } | |
| 25 | ||
| 26 | func GetCoordsFromEnvVars() (geodist.Coord, error) { | |
| 27 | latStr, latPresent := os.LookupEnv(COORDINATE_LAT_ENV_VAR) | |
| 28 | lonStr, lonPresent := os.LookupEnv(COORDINATE_LON_ENV_VAR) | |
| 29 | if !latPresent || !lonPresent { | |
| 30 | return geodist.Coord{}, fmt.Errorf("missing environment variable %s or %s", COORDINATE_LAT_ENV_VAR, COORDINATE_LON_ENV_VAR) | |
| 31 | } | |
| 32 | lat, err := strconv.ParseFloat(latStr, 64) | |
| 33 | if err != nil { | |
| 34 | return geodist.Coord{}, err | |
| 35 | } | |
| 36 | lon, err := strconv.ParseFloat(lonStr, 64) | |
| 37 | if err != nil { | |
| 38 | return geodist.Coord{}, err | |
| 39 | } | |
| 40 | coords := geodist.Coord{Lat: lat, Lon: lon} | |
| 41 | return coords, nil | |
| 42 | } |