fuzzyworld

find-stone-beer / files / env-vars.go

env-vars.go

1.2 KB · history · blame

1package main
2
3import (
4 "fmt"
5 "os"
6 "strconv"
7
8 "github.com/jftuga/geodist"
9)
10
11func 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
26func 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}