1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

Clean up the Weather module's API credentials loading

Now prioritizes API key configuration in the config file over ENV vars.
This commit is contained in:
Chris Cummer 2018-07-31 13:36:02 -07:00
parent 9ddd514631
commit c7223843f0

View File

@ -1,13 +1,13 @@
package weather package weather
import ( import (
"fmt" //"fmt"
"os" "os"
owm "github.com/briandowns/openweathermap" owm "github.com/briandowns/openweathermap"
"github.com/gdamore/tcell" "github.com/gdamore/tcell"
"github.com/rivo/tview" "github.com/rivo/tview"
"github.com/senorprogrammer/wtf/logger" //"github.com/senorprogrammer/wtf/logger"
"github.com/senorprogrammer/wtf/wtf" "github.com/senorprogrammer/wtf/wtf"
) )
@ -43,14 +43,10 @@ func NewWidget(app *tview.Application, pages *tview.Pages) *Widget {
app: app, app: app,
pages: pages, pages: pages,
APIKey: os.Getenv("WTF_OWM_API_KEY"), Idx: 0,
Idx: 0,
} }
if widget.APIKey == "" { widget.loadAPICredentials()
logger.Log("loading weather API key from config")
widget.APIKey = wtf.Config.UString(fmt.Sprintf("wtf.mods.%s.apiKey", configKey), "")
}
widget.View.SetInputCapture(widget.keyboardIntercept) widget.View.SetInputCapture(widget.keyboardIntercept)
@ -188,6 +184,15 @@ func (widget *Widget) keyboardIntercept(event *tcell.EventKey) *tcell.EventKey {
} }
} }
// loadAPICredentials loads the API authentication credentials for this module
// First checks to see if they're in the config file. If not, checks the ENV var
func (widget *Widget) loadAPICredentials() {
widget.APIKey = wtf.Config.UString(
"wtf.mods.weather.apiKey",
os.Getenv("WTF_OWM_API_KEY"),
)
}
func (widget *Widget) showHelp() { func (widget *Widget) showHelp() {
closeFunc := func() { closeFunc := func() {
widget.pages.RemovePage("help") widget.pages.RemovePage("help")