From cb64f7df228188e2f5c0e9e66b7bb9a1871dab2e Mon Sep 17 00:00:00 2001 From: Sean Smith Date: Tue, 14 May 2019 20:46:40 -0400 Subject: [PATCH] Handle historical config Parse repositories both ways Have github manually set sources, since historical config may not handle --- modules/github/settings.go | 18 +++++++++++++++++- modules/github/widget.go | 2 ++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/modules/github/settings.go b/modules/github/settings.go index 649f462e..ab18b96b 100644 --- a/modules/github/settings.go +++ b/modules/github/settings.go @@ -1,6 +1,7 @@ package github import ( + "fmt" "os" "github.com/olebedev/config" @@ -29,10 +30,25 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co apiKey: ymlConfig.UString("apiKey", os.Getenv("WTF_GITHUB_TOKEN")), baseURL: ymlConfig.UString("baseURL", os.Getenv("WTF_GITHUB_BASE_URL")), enableStatus: ymlConfig.UBool("enableStatus", false), - repositories: wtf.ToStrs(ymlConfig.UList("repositories")), uploadURL: ymlConfig.UString("uploadURL", os.Getenv("WTF_GITHUB_UPLOAD_URL")), username: ymlConfig.UString("username"), } + settings.repositories = parseRepositories(ymlConfig) return &settings } + +func parseRepositories(ymlConfig *config.Config) []string { + + result := []string{} + repositories, err := ymlConfig.Map("repositories") + if err == nil { + for key, value := range repositories { + result = append(result, fmt.Sprintf("%s/%s", value, key)) + } + return result + } + + result = wtf.ToStrs(ymlConfig.UList("repositories")) + return result +} diff --git a/modules/github/widget.go b/modules/github/widget.go index 0883f37d..a025f4d1 100644 --- a/modules/github/widget.go +++ b/modules/github/widget.go @@ -34,6 +34,8 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) * widget.View.SetInputCapture(widget.InputCapture) widget.SetDisplayFunction(widget.display) + widget.Sources = widget.settings.repositories + widget.KeyboardWidget.SetView(widget.View) return &widget