diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..56422821 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "workbench.colorCustomizations": {} +} \ No newline at end of file diff --git a/cfg/common_settings.go b/cfg/common_settings.go index ef0d29a2..2bc4450f 100644 --- a/cfg/common_settings.go +++ b/cfg/common_settings.go @@ -15,6 +15,11 @@ type Colors struct { Text string } +type Module struct { + ConfigKey string + Name string +} + type Position struct { Height int Left int @@ -24,6 +29,7 @@ type Position struct { type Common struct { Colors + Module Position Enabled bool @@ -31,7 +37,7 @@ type Common struct { Title string } -func NewCommonSettingsFromYAML(ymlConfig *config.Config) *Common { +func NewCommonSettingsFromYAML(name, configKey string, ymlConfig *config.Config) *Common { common := Common{ Colors: Colors{ Background: ymlConfig.UString("wtf.colors.background", "black"), @@ -43,6 +49,12 @@ func NewCommonSettingsFromYAML(ymlConfig *config.Config) *Common { HighlightBack: ymlConfig.UString("wtf.colors.highlight.back"), Text: ymlConfig.UString("wtf.colors.text", "white"), }, + + Module: Module{ + ConfigKey: configKey, + Name: name, + }, + Position: Position{}, } diff --git a/logger/settings.go b/logger/settings.go index e880879a..ba61ce9e 100644 --- a/logger/settings.go +++ b/logger/settings.go @@ -5,13 +5,15 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "logger" + type Settings struct { common *cfg.Common } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } return &settings diff --git a/main.go b/main.go index bc428619..1afc6ca1 100644 --- a/main.go +++ b/main.go @@ -182,141 +182,141 @@ func makeWidget(app *tview.Application, pages *tview.Pages, widgetName string) w // Always in alphabetical order switch widgetName { case "bamboohr": - settings := bamboohr.NewSettingsFromYAML(wtf.Config) + settings := bamboohr.NewSettingsFromYAML("BambooHR", wtf.Config) widget = bamboohr.NewWidget(app, settings) case "bargraph": widget = bargraph.NewWidget(app) case "bittrex": - settings := bittrex.NewSettingsFromYAML(wtf.Config) + settings := bittrex.NewSettingsFromYAML("Bittrex", wtf.Config) widget = bittrex.NewWidget(app, settings) case "blockfolio": - settings := blockfolio.NewSettingsFromYAML(wtf.Config) + settings := blockfolio.NewSettingsFromYAML("Blockfolio", wtf.Config) widget = blockfolio.NewWidget(app, settings) case "circleci": - settings := circleci.NewSettingsFromYAML(wtf.Config) + settings := circleci.NewSettingsFromYAML("CircleCI", wtf.Config) widget = circleci.NewWidget(app, settings) case "clocks": - settings := clocks.NewSettingsFromYAML(wtf.Config) + settings := clocks.NewSettingsFromYAML("Clocks", wtf.Config) widget = clocks.NewWidget(app, settings) case "cmdrunner": - settings := cmdrunner.NewSettingsFromYAML(wtf.Config) + settings := cmdrunner.NewSettingsFromYAML("CmdRunner", wtf.Config) widget = cmdrunner.NewWidget(app, settings) case "cryptolive": - settings := cryptolive.NewSettingsFromYAML(wtf.Config) + settings := cryptolive.NewSettingsFromYAML("CryptoLive", wtf.Config) widget = cryptolive.NewWidget(app, settings) case "datadog": - settings := datadog.NewSettingsFromYAML(wtf.Config) + settings := datadog.NewSettingsFromYAML("DataDog", wtf.Config) widget = datadog.NewWidget(app, settings) case "gcal": - settings := gcal.NewSettingsFromYAML(wtf.Config) + settings := gcal.NewSettingsFromYAML("Calendar", wtf.Config) widget = gcal.NewWidget(app, settings) case "gerrit": - settings := gerrit.NewSettingsFromYAML(wtf.Config) + settings := gerrit.NewSettingsFromYAML("Gerrit", wtf.Config) widget = gerrit.NewWidget(app, pages, settings) case "git": - settings := git.NewSettingsFromYAML(wtf.Config) + settings := git.NewSettingsFromYAML("Git", wtf.Config) widget = git.NewWidget(app, pages, settings) case "github": - settings := github.NewSettingsFromYAML(wtf.Config) + settings := github.NewSettingsFromYAML("GitHub", wtf.Config) widget = github.NewWidget(app, pages, settings) case "gitlab": - settings := gitlab.NewSettingsFromYAML(wtf.Config) + settings := gitlab.NewSettingsFromYAML("GitLab", wtf.Config) widget = gitlab.NewWidget(app, pages, settings) case "gitter": - settings := gitter.NewSettingsFromYAML(wtf.Config) + settings := gitter.NewSettingsFromYAML("Gitter", wtf.Config) widget = gitter.NewWidget(app, pages, settings) case "gspreadsheets": - settings := gspreadsheets.NewSettingsFromYAML(wtf.Config) + settings := gspreadsheets.NewSettingsFromYAML("Google Spreadsheets", wtf.Config) widget = gspreadsheets.NewWidget(app, settings) case "hackernews": - settings := hackernews.NewSettingsFromYAML(wtf.Config) + settings := hackernews.NewSettingsFromYAML("HackerNews", wtf.Config) widget = hackernews.NewWidget(app, pages, settings) case "ipapi": - settings := ipapi.NewSettingsFromYAML(wtf.Config) + settings := ipapi.NewSettingsFromYAML("IPAPI", wtf.Config) widget = ipapi.NewWidget(app, settings) case "ipinfo": - settings := ipinfo.NewSettingsFromYAML(wtf.Config) + settings := ipinfo.NewSettingsFromYAML("IPInfo", wtf.Config) widget = ipinfo.NewWidget(app, settings) case "jenkins": - settings := jenkins.NewSettingsFromYAML(wtf.Config) + settings := jenkins.NewSettingsFromYAML("Jenkins", wtf.Config) widget = jenkins.NewWidget(app, pages, settings) case "jira": - settings := jira.NewSettingsFromYAML(wtf.Config) + settings := jira.NewSettingsFromYAML("Jira", wtf.Config) widget = jira.NewWidget(app, pages, settings) case "logger": - settings := logger.NewSettingsFromYAML(wtf.Config) + settings := logger.NewSettingsFromYAML("Log", wtf.Config) widget = logger.NewWidget(app, settings) case "mercurial": - settings := mercurial.NewSettingsFromYAML(wtf.Config) + settings := mercurial.NewSettingsFromYAML("Mercurial", wtf.Config) widget = mercurial.NewWidget(app, pages, settings) case "nbascore": - settings := nbascore.NewSettingsFromYAML(wtf.Config) + settings := nbascore.NewSettingsFromYAML("NBA Score", wtf.Config) widget = nbascore.NewWidget(app, pages, settings) case "newrelic": - settings := newrelic.NewSettingsFromYAML(wtf.Config) + settings := newrelic.NewSettingsFromYAML("NewRelic", wtf.Config) widget = newrelic.NewWidget(app, settings) case "opsgenie": - settings := opsgenie.NewSettingsFromYAML(wtf.Config) + settings := opsgenie.NewSettingsFromYAML("OpsGenie", wtf.Config) widget = opsgenie.NewWidget(app, settings) case "pagerduty": - settings := pagerduty.NewSettingsFromYAML(wtf.Config) + settings := pagerduty.NewSettingsFromYAML("PagerDuty", wtf.Config) widget = pagerduty.NewWidget(app, settings) case "power": - settings := power.NewSettingsFromYAML(wtf.Config) + settings := power.NewSettingsFromYAML("Power", wtf.Config) widget = power.NewWidget(app, settings) case "prettyweather": - settings := prettyweather.NewSettingsFromYAML(wtf.Config) + settings := prettyweather.NewSettingsFromYAML("Pretty Weather", wtf.Config) widget = prettyweather.NewWidget(app, settings) case "resourceusage": - settings := resourceusage.NewSettingsFromYAML(wtf.Config) + settings := resourceusage.NewSettingsFromYAML("Resource Usage", wtf.Config) widget = resourceusage.NewWidget(app, settings) case "rollbar": - settings := rollbar.NewSettingsFromYAML(wtf.Config) + settings := rollbar.NewSettingsFromYAML("Rollbar", wtf.Config) widget = rollbar.NewWidget(app, pages, settings) case "security": - settings := security.NewSettingsFromYAML(wtf.Config) + settings := security.NewSettingsFromYAML("Security", wtf.Config) widget = security.NewWidget(app, settings) case "spotify": - settings := spotify.NewSettingsFromYAML(wtf.Config) + settings := spotify.NewSettingsFromYAML("Spotify", wtf.Config) widget = spotify.NewWidget(app, pages, settings) case "spotifyweb": - settings := spotifyweb.NewSettingsFromYAML(wtf.Config) + settings := spotifyweb.NewSettingsFromYAML("Spotify Web", wtf.Config) widget = spotifyweb.NewWidget(app, pages, settings) case "status": - settings := status.NewSettingsFromYAML(wtf.Config) + settings := status.NewSettingsFromYAML("Status", wtf.Config) widget = status.NewWidget(app, settings) case "system": - settings := system.NewSettingsFromYAML(wtf.Config) + settings := system.NewSettingsFromYAML("System", wtf.Config) widget = system.NewWidget(app, date, version, settings) case "textfile": - settings := textfile.NewSettingsFromYAML(wtf.Config) + settings := textfile.NewSettingsFromYAML("Textfile", wtf.Config) widget = textfile.NewWidget(app, pages, settings) case "todo": - settings := todo.NewSettingsFromYAML(wtf.Config) + settings := todo.NewSettingsFromYAML("Todo", wtf.Config) widget = todo.NewWidget(app, pages, settings) case "todoist": - settings := todoist.NewSettingsFromYAML(wtf.Config) + settings := todoist.NewSettingsFromYAML("Todoist", wtf.Config) widget = todoist.NewWidget(app, pages, settings) case "travisci": - settings := travisci.NewSettingsFromYAML(wtf.Config) + settings := travisci.NewSettingsFromYAML("TravisCI", wtf.Config) widget = travisci.NewWidget(app, pages, settings) case "trello": - settings := trello.NewSettingsFromYAML(wtf.Config) + settings := trello.NewSettingsFromYAML("Trello", wtf.Config) widget = trello.NewWidget(app, settings) case "twitter": - settings := twitter.NewSettingsFromYAML(wtf.Config) + settings := twitter.NewSettingsFromYAML("Twitter", wtf.Config) widget = twitter.NewWidget(app, pages, settings) case "victorops": - settings := victorops.NewSettingsFromYAML(wtf.Config) + settings := victorops.NewSettingsFromYAML("VictorOps - OnCall", wtf.Config) widget = victorops.NewWidget(app, settings) case "weather": - settings := weather.NewSettingsFromYAML(wtf.Config) + settings := weather.NewSettingsFromYAML("Weather", wtf.Config) widget = weather.NewWidget(app, pages, settings) case "zendesk": - settings := zendesk.NewSettingsFromYAML(wtf.Config) + settings := zendesk.NewSettingsFromYAML("Zendesk", wtf.Config) widget = zendesk.NewWidget(app, settings) default: - settings := unknown.NewSettingsFromYAML(wtf.Config) + settings := unknown.NewSettingsFromYAML(widgetName, wtf.Config) widget = unknown.NewWidget(app, widgetName, settings) } diff --git a/modules/bamboohr/settings.go b/modules/bamboohr/settings.go index 223b8c32..a8a61d0e 100644 --- a/modules/bamboohr/settings.go +++ b/modules/bamboohr/settings.go @@ -7,20 +7,23 @@ import ( "github.com/wtfutil/wtf/cfg" ) -type Settings struct { - Common *cfg.Common +const configKey = "bamboohr" - APIKey string - Subdomain string +type Settings struct { + common *cfg.Common + + apiKey string + subdomain string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.bamboohr") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - Common: cfg.NewCommonSettingsFromYAML(ymlConfig), - APIKey: localConfig.UString("apiKey", os.Getenv("WTF_BAMBOO_HR_TOKEN")), - Subdomain: localConfig.UString("subdomain", os.Getenv("WTF_BAMBOO_HR_SUBDOMAIN")), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), + + apiKey: localConfig.UString("apiKey", os.Getenv("WTF_BAMBOO_HR_TOKEN")), + subdomain: localConfig.UString("subdomain", os.Getenv("WTF_BAMBOO_HR_SUBDOMAIN")), } return &settings diff --git a/modules/bamboohr/widget.go b/modules/bamboohr/widget.go index 5091cecb..3a37cc77 100644 --- a/modules/bamboohr/widget.go +++ b/modules/bamboohr/widget.go @@ -17,7 +17,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "BambooHR", "bamboohr", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } @@ -30,8 +30,8 @@ func NewWidget(app *tview.Application, settings *Settings) *Widget { func (widget *Widget) Refresh() { client := NewClient( APIURI, - widget.settings.APIKey, - widget.settings.Subdomain, + widget.settings.apiKey, + widget.settings.subdomain, ) todayItems := client.Away( diff --git a/modules/circleci/settings.go b/modules/circleci/settings.go index 2dcdffa9..59a74056 100644 --- a/modules/circleci/settings.go +++ b/modules/circleci/settings.go @@ -7,17 +7,20 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "circleci" + type Settings struct { - Common *cfg.Common + common *cfg.Common apiKey string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.circleci") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - Common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), + apiKey: localConfig.UString("apiKey", os.Getenv("WTF_CIRCLE_API_KEY")), } diff --git a/modules/circleci/widget.go b/modules/circleci/widget.go index 63faf855..0c654241 100644 --- a/modules/circleci/widget.go +++ b/modules/circleci/widget.go @@ -16,7 +16,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "CircleCI", "circleci", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), Client: NewClient(settings.apiKey), settings: settings, diff --git a/modules/clocks/setting.go b/modules/clocks/setting.go index 3fbc856a..08297cc8 100644 --- a/modules/clocks/setting.go +++ b/modules/clocks/setting.go @@ -6,6 +6,8 @@ import ( "github.com/wtfutil/wtf/wtf" ) +const configKey = "clocks" + type colors struct { rows struct { even string @@ -23,11 +25,11 @@ type Settings struct { sort string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.clocks") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), dateFormat: localConfig.UString("dateFormat", wtf.SimpleDateFormat), timeFormat: localConfig.UString("timeFormat", wtf.SimpleTimeFormat), diff --git a/modules/clocks/widget.go b/modules/clocks/widget.go index 26ee1918..45ffb3d7 100644 --- a/modules/clocks/widget.go +++ b/modules/clocks/widget.go @@ -19,7 +19,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "World Clocks", "clocks", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, dateFormat: settings.dateFormat, diff --git a/modules/cmdrunner/settings.go b/modules/cmdrunner/settings.go index 0bfae27a..8c979a2a 100644 --- a/modules/cmdrunner/settings.go +++ b/modules/cmdrunner/settings.go @@ -6,6 +6,8 @@ import ( "github.com/wtfutil/wtf/wtf" ) +const configKey = "cmdrunner" + type Settings struct { common *cfg.Common @@ -13,11 +15,11 @@ type Settings struct { cmd string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.cmdrunner") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), args: wtf.ToStrs(localConfig.UList("args")), cmd: localConfig.UString("cmd"), diff --git a/modules/cmdrunner/widget.go b/modules/cmdrunner/widget.go index 5d1fd13c..ec613969 100644 --- a/modules/cmdrunner/widget.go +++ b/modules/cmdrunner/widget.go @@ -20,7 +20,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "CmdRunner", "cmdrunner", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), args: settings.args, cmd: settings.cmd, diff --git a/modules/cryptoexchanges/bittrex/settings.go b/modules/cryptoexchanges/bittrex/settings.go index 6da9111b..d35f7f53 100644 --- a/modules/cryptoexchanges/bittrex/settings.go +++ b/modules/cryptoexchanges/bittrex/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "bittrex" + type colors struct { base struct { name string @@ -24,11 +26,11 @@ type Settings struct { summary map[string]interface{} } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.bittrex") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } settings.colors.base.name = localConfig.UString("colors.base.name") diff --git a/modules/cryptoexchanges/bittrex/widget.go b/modules/cryptoexchanges/bittrex/widget.go index 532b93f7..70daaac7 100644 --- a/modules/cryptoexchanges/bittrex/widget.go +++ b/modules/cryptoexchanges/bittrex/widget.go @@ -27,7 +27,7 @@ type Widget struct { // NewWidget Make new instance of widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "Bittrex", "bittrex", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, summaryList: summaryList{}, diff --git a/modules/cryptoexchanges/blockfolio/settings.go b/modules/cryptoexchanges/blockfolio/settings.go index 0ccb1320..958e0635 100644 --- a/modules/cryptoexchanges/blockfolio/settings.go +++ b/modules/cryptoexchanges/blockfolio/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "blockfolio" + type colors struct { name string grows string @@ -19,11 +21,11 @@ type Settings struct { displayHoldings bool } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.blockfolio") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), deviceToken: localConfig.UString("device_token"), displayHoldings: localConfig.UBool("displayHoldings", true), diff --git a/modules/cryptoexchanges/blockfolio/widget.go b/modules/cryptoexchanges/blockfolio/widget.go index 25dad3cb..9453da57 100644 --- a/modules/cryptoexchanges/blockfolio/widget.go +++ b/modules/cryptoexchanges/blockfolio/widget.go @@ -20,7 +20,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "Blockfolio", "blockfolio", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), device_token: settings.deviceToken, settings: settings, diff --git a/modules/cryptoexchanges/cryptolive/price/settings.go b/modules/cryptoexchanges/cryptolive/price/settings.go index 2dd5cbef..1e1c66bf 100644 --- a/modules/cryptoexchanges/cryptolive/price/settings.go +++ b/modules/cryptoexchanges/cryptolive/price/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "price" + type colors struct { from struct { name string @@ -34,14 +36,14 @@ type Settings struct { top map[string]interface{} } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.cryptolive") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) currencies, _ := localConfig.Map("currencies") top, _ := localConfig.Map("top") settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), currencies: currencies, top: top, } diff --git a/modules/cryptoexchanges/cryptolive/settings.go b/modules/cryptoexchanges/cryptolive/settings.go index abffae4d..1ecc7049 100644 --- a/modules/cryptoexchanges/cryptolive/settings.go +++ b/modules/cryptoexchanges/cryptolive/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/modules/cryptoexchanges/cryptolive/toplist" ) +const configKey = "cryptolive" + type colors struct { from struct { name string @@ -31,7 +33,8 @@ type colors struct { type Settings struct { colors - common *cfg.Common + common *cfg.Common + currencies map[string]interface{} top map[string]interface{} @@ -39,19 +42,20 @@ type Settings struct { toplistSettings *toplist.Settings } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.cryptolive") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) currencies, _ := localConfig.Map("currencies") top, _ := localConfig.Map("top") settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), + currencies: currencies, top: top, - priceSettings: price.NewSettingsFromYAML(ymlConfig), - toplistSettings: toplist.NewSettingsFromYAML(ymlConfig), + priceSettings: price.NewSettingsFromYAML(name, ymlConfig), + toplistSettings: toplist.NewSettingsFromYAML(name, ymlConfig), } settings.colors.from.name = localConfig.UString("colors.from.name") diff --git a/modules/cryptoexchanges/cryptolive/toplist/settings.go b/modules/cryptoexchanges/cryptolive/toplist/settings.go index d7844192..97d23eea 100644 --- a/modules/cryptoexchanges/cryptolive/toplist/settings.go +++ b/modules/cryptoexchanges/cryptolive/toplist/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "toplist" + type colors struct { from struct { name string @@ -34,14 +36,14 @@ type Settings struct { top map[string]interface{} } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.cryptolive") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) currencies, _ := localConfig.Map("currencies") top, _ := localConfig.Map("top") settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), currencies: currencies, top: top, } diff --git a/modules/cryptoexchanges/cryptolive/widget.go b/modules/cryptoexchanges/cryptolive/widget.go index 199e1bf2..39d2f14c 100644 --- a/modules/cryptoexchanges/cryptolive/widget.go +++ b/modules/cryptoexchanges/cryptolive/widget.go @@ -22,7 +22,7 @@ type Widget struct { // NewWidget Make new instance of widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "CryptoLive", "cryptolive", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), priceWidget: price.NewWidget(settings.priceSettings), toplistWidget: toplist.NewWidget(settings.toplistSettings), diff --git a/modules/datadog/settings.go b/modules/datadog/settings.go index d448402a..f7f05f79 100644 --- a/modules/datadog/settings.go +++ b/modules/datadog/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "datadog" + type Settings struct { common *cfg.Common @@ -15,11 +17,12 @@ type Settings struct { tags []interface{} } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.datadog") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), + apiKey: localConfig.UString("apiKey", os.Getenv("WTF_DATADOG_API_KEY")), applicationKey: localConfig.UString("applicationKey", os.Getenv("WTF_DATADOG_APPLICATION_KEY")), tags: localConfig.UList("monitors.tags"), diff --git a/modules/datadog/widget.go b/modules/datadog/widget.go index 71bb1212..275ec1fc 100644 --- a/modules/datadog/widget.go +++ b/modules/datadog/widget.go @@ -16,7 +16,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "Datadog", "datadog", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } diff --git a/modules/gcal/settings.go b/modules/gcal/settings.go index 861b1c68..1c04d8a6 100644 --- a/modules/gcal/settings.go +++ b/modules/gcal/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "gcal" + type colors struct { day string description string @@ -30,11 +32,11 @@ type Settings struct { withLocation bool } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.gcal") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), conflictIcon: localConfig.UString("conflictIcon", "🚨"), currentIcon: localConfig.UString("currentIcon", "🔸"), diff --git a/modules/gcal/widget.go b/modules/gcal/widget.go index 53a68501..c7e1679e 100644 --- a/modules/gcal/widget.go +++ b/modules/gcal/widget.go @@ -20,7 +20,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "Calendar", "gcal", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), app: app, ch: make(chan struct{}), diff --git a/modules/gerrit/settings.go b/modules/gerrit/settings.go index 91c9f423..dff7080a 100644 --- a/modules/gerrit/settings.go +++ b/modules/gerrit/settings.go @@ -14,6 +14,8 @@ type colors struct { } } +const configKey = "gerrit" + type Settings struct { colors common *cfg.Common @@ -25,11 +27,11 @@ type Settings struct { verifyServerCertificate bool } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.gerrit") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), domain: localConfig.UString("domain", ""), password: localConfig.UString("password", os.Getenv("WTF_GERRIT_PASSWORD")), diff --git a/modules/gerrit/widget.go b/modules/gerrit/widget.go index fa1ecb86..24c056f6 100644 --- a/modules/gerrit/widget.go +++ b/modules/gerrit/widget.go @@ -49,7 +49,7 @@ var ( func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "Gerrit", "gerrit", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), Idx: 0, settings: settings, diff --git a/modules/git/settings.go b/modules/git/settings.go index d54a69a9..a99c85a1 100644 --- a/modules/git/settings.go +++ b/modules/git/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "git" + type Settings struct { common *cfg.Common @@ -14,11 +16,11 @@ type Settings struct { repositories []interface{} } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.git") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), commitCount: localConfig.UInt("commitCount", 10), commitFormat: localConfig.UString("commitFormat", "[forestgreen]%h [white]%s [grey]%an on %cd[white]"), diff --git a/modules/git/widget.go b/modules/git/widget.go index 9231ff55..d6ac7533 100644 --- a/modules/git/widget.go +++ b/modules/git/widget.go @@ -43,7 +43,7 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) * widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), MultiSourceWidget: wtf.NewMultiSourceWidget("git", "repository", "repositories"), - TextWidget: wtf.NewTextWidget(app, "Git", "git", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), app: app, pages: pages, diff --git a/modules/github/settings.go b/modules/github/settings.go index 14fd0ee1..dfe9bf96 100644 --- a/modules/github/settings.go +++ b/modules/github/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "github" + type Settings struct { common *cfg.Common @@ -18,11 +20,11 @@ type Settings struct { username string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.github") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_GITHUB_TOKEN")), baseURL: localConfig.UString("baseURL", os.Getenv("WTF_GITHUB_BASE_URL")), diff --git a/modules/github/widget.go b/modules/github/widget.go index 69e4f136..cd552c00 100644 --- a/modules/github/widget.go +++ b/modules/github/widget.go @@ -32,7 +32,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "GitHub", "github", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), Idx: 0, settings: settings, diff --git a/modules/gitlab/settings.go b/modules/gitlab/settings.go index 51ca388a..1db314da 100644 --- a/modules/gitlab/settings.go +++ b/modules/gitlab/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "gitlab" + type Settings struct { common *cfg.Common @@ -16,11 +18,11 @@ type Settings struct { username string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.gitlab") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_GITLAB_TOKEN")), domain: localConfig.UString("domain"), diff --git a/modules/gitlab/widget.go b/modules/gitlab/widget.go index a0d3f00f..04e1e860 100644 --- a/modules/gitlab/widget.go +++ b/modules/gitlab/widget.go @@ -39,7 +39,7 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) * widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "Gitlab", "gitlab", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), Idx: 0, gitlab: gitlab, diff --git a/modules/gitter/settings.go b/modules/gitter/settings.go index 6abdefd7..6cb70eca 100644 --- a/modules/gitter/settings.go +++ b/modules/gitter/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "gitter" + type Settings struct { common *cfg.Common @@ -15,11 +17,11 @@ type Settings struct { roomURI string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.gitter") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiToken: localConfig.UString("apiToken", os.Getenv("WTF_GITTER_API_TOKEN")), numberOfMessages: localConfig.UInt("numberOfMessages", 10), diff --git a/modules/gitter/widget.go b/modules/gitter/widget.go index 80b54e95..8d0ff45a 100644 --- a/modules/gitter/widget.go +++ b/modules/gitter/widget.go @@ -32,7 +32,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "Gitter", "gitter", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), settings: settings, } diff --git a/modules/gspreadsheets/settings.go b/modules/gspreadsheets/settings.go index adea7b61..20f9ae4a 100644 --- a/modules/gspreadsheets/settings.go +++ b/modules/gspreadsheets/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "gspreadsheets" + type colors struct { values string } @@ -19,11 +21,11 @@ type Settings struct { sheetID string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.gspreadsheets") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), cellNames: localConfig.UList("cells.names"), secretFile: localConfig.UString("secretFile"), diff --git a/modules/gspreadsheets/widget.go b/modules/gspreadsheets/widget.go index 448b06f4..92d91b3a 100644 --- a/modules/gspreadsheets/widget.go +++ b/modules/gspreadsheets/widget.go @@ -16,7 +16,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "Google Spreadsheets", "gspreadsheets", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } diff --git a/modules/hackernews/settings.go b/modules/hackernews/settings.go index 4a50cf4a..a0154493 100644 --- a/modules/hackernews/settings.go +++ b/modules/hackernews/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "hackernews" + type Settings struct { common *cfg.Common @@ -12,11 +14,11 @@ type Settings struct { storyType string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.hackernews") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), numberOfStories: localConfig.UInt("numberOfStories", 10), storyType: localConfig.UString("storyType", "top"), diff --git a/modules/hackernews/widget.go b/modules/hackernews/widget.go index 5c1f4bb5..5bdee3fe 100644 --- a/modules/hackernews/widget.go +++ b/modules/hackernews/widget.go @@ -38,7 +38,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "Hacker News", "hackernews", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), settings: settings, } diff --git a/modules/ipaddresses/ipapi/settings.go b/modules/ipaddresses/ipapi/settings.go index a78af00c..54ba0afc 100644 --- a/modules/ipaddresses/ipapi/settings.go +++ b/modules/ipaddresses/ipapi/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "ipapi" + type colors struct { name string value string @@ -15,11 +17,11 @@ type Settings struct { common *cfg.Common } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.ipapi") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } settings.colors.name = localConfig.UString("colors.name", "red") diff --git a/modules/ipaddresses/ipapi/widget.go b/modules/ipaddresses/ipapi/widget.go index 53dec853..de4f00d1 100644 --- a/modules/ipaddresses/ipapi/widget.go +++ b/modules/ipaddresses/ipapi/widget.go @@ -38,7 +38,7 @@ type ipinfo struct { // NewWidget constructor func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "IPInfo", "ipapi", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } diff --git a/modules/ipaddresses/ipinfo/settings.go b/modules/ipaddresses/ipinfo/settings.go index 445bc2ca..23ee349d 100644 --- a/modules/ipaddresses/ipinfo/settings.go +++ b/modules/ipaddresses/ipinfo/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "ipinfo" + type colors struct { name string value string @@ -15,11 +17,11 @@ type Settings struct { common *cfg.Common } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.ipinfo") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } settings.colors.name = localConfig.UString("colors.name", "red") diff --git a/modules/ipaddresses/ipinfo/widget.go b/modules/ipaddresses/ipinfo/widget.go index 6d9135b6..bc8b44e8 100644 --- a/modules/ipaddresses/ipinfo/widget.go +++ b/modules/ipaddresses/ipinfo/widget.go @@ -31,7 +31,7 @@ type ipinfo struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "IPInfo", "ipinfo", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } diff --git a/modules/jenkins/settings.go b/modules/jenkins/settings.go index 20f9c22c..c1ab8bf1 100644 --- a/modules/jenkins/settings.go +++ b/modules/jenkins/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "jenkins" + type Settings struct { common *cfg.Common @@ -17,11 +19,11 @@ type Settings struct { verifyServerCertificate bool } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.jenkins") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_JENKINS_API_KEY")), successBallColor: localConfig.UString("successBallColor", "blue"), diff --git a/modules/jenkins/widget.go b/modules/jenkins/widget.go index 51ec7b67..1b6e3d73 100644 --- a/modules/jenkins/widget.go +++ b/modules/jenkins/widget.go @@ -35,7 +35,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "Jenkins", "jenkins", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), settings: settings, } diff --git a/modules/jira/settings.go b/modules/jira/settings.go index a31c6f04..a55cc597 100644 --- a/modules/jira/settings.go +++ b/modules/jira/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "jira" + type colors struct { rows struct { even string @@ -27,11 +29,11 @@ type Settings struct { verifyServerCertificate bool } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.jira") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_JIRA_API_KEY")), domain: localConfig.UString("domain"), diff --git a/modules/jira/widget.go b/modules/jira/widget.go index 06c1b887..eb929530 100644 --- a/modules/jira/widget.go +++ b/modules/jira/widget.go @@ -34,7 +34,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "Jira", "jira", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), settings: settings, } diff --git a/modules/mercurial/settings.go b/modules/mercurial/settings.go index a8a48afb..b21f366e 100644 --- a/modules/mercurial/settings.go +++ b/modules/mercurial/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "mercurial" + type Settings struct { common *cfg.Common @@ -13,11 +15,11 @@ type Settings struct { repositories []interface{} } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.mercurial") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), commitCount: localConfig.UInt("commitCount", 10), commitFormat: localConfig.UString("commitFormat", "[forestgreen]{rev}:{phase} [white]{desc|firstline|strip} [grey]{author|person} {date|age}[white]"), diff --git a/modules/mercurial/widget.go b/modules/mercurial/widget.go index b42d780e..683eb939 100644 --- a/modules/mercurial/widget.go +++ b/modules/mercurial/widget.go @@ -37,8 +37,8 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - MultiSourceWidget: wtf.NewMultiSourceWidget("mercurial", "repository", "repositories"), - TextWidget: wtf.NewTextWidget(app, "Mercurial", "mercurial", true), + MultiSourceWidget: wtf.NewMultiSourceWidget(settings.common.ConfigKey, "repository", "repositories"), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), app: app, pages: pages, diff --git a/modules/nbascore/settings.go b/modules/nbascore/settings.go index 763135be..245c0ff0 100644 --- a/modules/nbascore/settings.go +++ b/modules/nbascore/settings.go @@ -5,13 +5,15 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "nbascore" + type Settings struct { common *cfg.Common } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } return &settings diff --git a/modules/nbascore/widget.go b/modules/nbascore/widget.go index 0525c1a7..c1a28681 100644 --- a/modules/nbascore/widget.go +++ b/modules/nbascore/widget.go @@ -33,7 +33,7 @@ var offset = 0 func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "NBA Score", "nbascore", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), settings: settings, } diff --git a/modules/newrelic/settings.go b/modules/newrelic/settings.go index 0971bf00..92a5eb54 100644 --- a/modules/newrelic/settings.go +++ b/modules/newrelic/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "newrelic" + type Settings struct { common *cfg.Common @@ -15,11 +17,11 @@ type Settings struct { deployCount int } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.newrelic") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_NEW_RELIC_API_KEY")), applicationID: localConfig.UInt("applicationID"), diff --git a/modules/newrelic/widget.go b/modules/newrelic/widget.go index 1ed7be12..7affdc38 100644 --- a/modules/newrelic/widget.go +++ b/modules/newrelic/widget.go @@ -17,7 +17,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "New Relic", "newrelic", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } diff --git a/modules/opsgenie/settings.go b/modules/opsgenie/settings.go index 07ebc512..3da2c2e8 100644 --- a/modules/opsgenie/settings.go +++ b/modules/opsgenie/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "opsgenie" + type Settings struct { common *cfg.Common @@ -16,11 +18,11 @@ type Settings struct { scheduleIdentifierType string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.opsgenie") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_OPS_GENIE_API_KEY")), displayEmpty: localConfig.UBool("displayEmpty", true), diff --git a/modules/opsgenie/widget.go b/modules/opsgenie/widget.go index 26c051b8..a59652f9 100644 --- a/modules/opsgenie/widget.go +++ b/modules/opsgenie/widget.go @@ -16,7 +16,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "OpsGenie", "opsgenie", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } diff --git a/modules/pagerduty/settings.go b/modules/pagerduty/settings.go index 0e1ab511..473bc403 100644 --- a/modules/pagerduty/settings.go +++ b/modules/pagerduty/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "pagerduty" + type Settings struct { common *cfg.Common @@ -16,11 +18,11 @@ type Settings struct { showSchedules bool } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.pagerduty") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_PAGERDUTY_API_KEY")), escalationFilter: localConfig.UList("escalationFilter"), diff --git a/modules/pagerduty/widget.go b/modules/pagerduty/widget.go index d95201f8..a11cf8bb 100644 --- a/modules/pagerduty/widget.go +++ b/modules/pagerduty/widget.go @@ -17,7 +17,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "PagerDuty", "pagerduty", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } diff --git a/modules/power/settings.go b/modules/power/settings.go index 8d03c2bf..bae89013 100644 --- a/modules/power/settings.go +++ b/modules/power/settings.go @@ -5,15 +5,17 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "power" + type Settings struct { common *cfg.Common filePath string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } return &settings diff --git a/modules/power/widget.go b/modules/power/widget.go index 97891b1d..fe5766b7 100644 --- a/modules/power/widget.go +++ b/modules/power/widget.go @@ -16,7 +16,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "Power", "power", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), Battery: NewBattery(), settings: settings, diff --git a/modules/resourceusage/settings.go b/modules/resourceusage/settings.go index 1910666d..d5f4ae29 100644 --- a/modules/resourceusage/settings.go +++ b/modules/resourceusage/settings.go @@ -5,13 +5,15 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "resourceusage" + type Settings struct { common *cfg.Common } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } return &settings diff --git a/modules/resourceusage/widget.go b/modules/resourceusage/widget.go index d1218f41..ed7d1a2f 100644 --- a/modules/resourceusage/widget.go +++ b/modules/resourceusage/widget.go @@ -24,7 +24,7 @@ type Widget struct { // NewWidget Make new instance of widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - BarGraph: wtf.NewBarGraph(app, "Resource Usage", "resourceusage", false), + BarGraph: wtf.NewBarGraph(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } diff --git a/modules/rollbar/settings.go b/modules/rollbar/settings.go index ac870b1d..7f24774d 100644 --- a/modules/rollbar/settings.go +++ b/modules/rollbar/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "rollbar" + type Settings struct { common *cfg.Common @@ -16,11 +18,11 @@ type Settings struct { projectOwner string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.rollbar") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), accessToken: localConfig.UString("accessToken"), activeOnly: localConfig.UBool("activeOnly", false), diff --git a/modules/rollbar/widget.go b/modules/rollbar/widget.go index 04c6d250..74fadc80 100644 --- a/modules/rollbar/widget.go +++ b/modules/rollbar/widget.go @@ -35,7 +35,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "Rollbar", "rollbar", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), settings: settings, } diff --git a/modules/security/settings.go b/modules/security/settings.go index b8c05c90..45e86f4f 100644 --- a/modules/security/settings.go +++ b/modules/security/settings.go @@ -5,13 +5,15 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "security" + type Settings struct { common *cfg.Common } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } return &settings diff --git a/modules/security/widget.go b/modules/security/widget.go index e8e5fed9..68856bbc 100644 --- a/modules/security/widget.go +++ b/modules/security/widget.go @@ -16,7 +16,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "Security", "security", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } diff --git a/modules/spotify/settings.go b/modules/spotify/settings.go index fe81ff57..50ed6be5 100644 --- a/modules/spotify/settings.go +++ b/modules/spotify/settings.go @@ -5,13 +5,15 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "spotify" + type Settings struct { common *cfg.Common } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } return &settings diff --git a/modules/spotify/widget.go b/modules/spotify/widget.go index 98c4668b..5e35bfa8 100644 --- a/modules/spotify/widget.go +++ b/modules/spotify/widget.go @@ -30,7 +30,7 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) * spotifyClient := spotigopher.NewClient() widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "Spotify", "spotify", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), Info: spotigopher.Info{}, SpotifyClient: spotifyClient, diff --git a/modules/spotifyweb/settings.go b/modules/spotifyweb/settings.go index ffe6421d..63b0539a 100644 --- a/modules/spotifyweb/settings.go +++ b/modules/spotifyweb/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "spotifyweb" + type Settings struct { common *cfg.Common @@ -15,11 +17,11 @@ type Settings struct { secretKey string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.spotifyweb") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), callbackPort: localConfig.UString("callbackPort", "8080"), clientID: localConfig.UString("clientID", os.Getenv("SPOTIFY_ID")), diff --git a/modules/spotifyweb/widget.go b/modules/spotifyweb/widget.go index 98af1863..3d0ec40d 100644 --- a/modules/spotifyweb/widget.go +++ b/modules/spotifyweb/widget.go @@ -93,7 +93,7 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) * widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "SpotifyWeb", "spotifyweb", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), Info: Info{}, client: client, diff --git a/modules/status/settings.go b/modules/status/settings.go index b320f12b..9083f5b2 100644 --- a/modules/status/settings.go +++ b/modules/status/settings.go @@ -5,13 +5,15 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "status" + type Settings struct { common *cfg.Common } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } return &settings diff --git a/modules/status/widget.go b/modules/status/widget.go index 81f256d2..257480a9 100644 --- a/modules/status/widget.go +++ b/modules/status/widget.go @@ -14,7 +14,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "Status", "status", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), CurrentIcon: 0, settings: settings, diff --git a/modules/system/settings.go b/modules/system/settings.go index 67662fea..c748a0b2 100644 --- a/modules/system/settings.go +++ b/modules/system/settings.go @@ -5,13 +5,15 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "system" + type Settings struct { common *cfg.Common } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } return &settings diff --git a/modules/system/widget.go b/modules/system/widget.go index e5bb08a4..2f5ee3e5 100644 --- a/modules/system/widget.go +++ b/modules/system/widget.go @@ -19,7 +19,7 @@ type Widget struct { func NewWidget(app *tview.Application, date, version string, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "System", "system", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), Date: date, settings: settings, diff --git a/modules/textfile/settings.go b/modules/textfile/settings.go index b0681aa1..ee692249 100644 --- a/modules/textfile/settings.go +++ b/modules/textfile/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "textfile" + type Settings struct { common *cfg.Common @@ -13,11 +15,11 @@ type Settings struct { formatStyle string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.textfile") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), filePaths: localConfig.UList("filePaths"), format: localConfig.UBool("format", false), diff --git a/modules/textfile/widget.go b/modules/textfile/widget.go index 8ead3508..36f7a39e 100644 --- a/modules/textfile/widget.go +++ b/modules/textfile/widget.go @@ -41,8 +41,8 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - MultiSourceWidget: wtf.NewMultiSourceWidget("textfile", "filePath", "filePaths"), - TextWidget: wtf.NewTextWidget(app, "TextFile", "textfile", true), + MultiSourceWidget: wtf.NewMultiSourceWidget(settings.common.ConfigKey, "filePath", "filePaths"), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), settings: settings, } diff --git a/modules/todo/settings.go b/modules/todo/settings.go index 98f4a0f7..1cf6eeb4 100644 --- a/modules/todo/settings.go +++ b/modules/todo/settings.go @@ -5,17 +5,19 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "todo" + type Settings struct { common *cfg.Common filePath string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.todo") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), filePath: localConfig.UString("filename"), } diff --git a/modules/todo/widget.go b/modules/todo/widget.go index f742b5eb..de054813 100644 --- a/modules/todo/widget.go +++ b/modules/todo/widget.go @@ -49,7 +49,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "Todo", "todo", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), app: app, settings: settings, diff --git a/modules/todoist/settings.go b/modules/todoist/settings.go index 912d13cc..54979d11 100644 --- a/modules/todoist/settings.go +++ b/modules/todoist/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "todoist" + type Settings struct { common *cfg.Common @@ -14,11 +16,11 @@ type Settings struct { projects []interface{} } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.todoist") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_TODOIST_TOKEN")), projects: localConfig.UList("projects"), diff --git a/modules/todoist/widget.go b/modules/todoist/widget.go index 5d037695..23118c6b 100644 --- a/modules/todoist/widget.go +++ b/modules/todoist/widget.go @@ -37,7 +37,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "Todoist", "todoist", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), settings: settings, } diff --git a/modules/travisci/settings.go b/modules/travisci/settings.go index dd16d7b5..b9660748 100644 --- a/modules/travisci/settings.go +++ b/modules/travisci/settings.go @@ -7,18 +7,20 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "travisci" + type Settings struct { - Common *cfg.Common + common *cfg.Common apiKey string pro bool } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.travisci") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - Common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_TRAVIS_API_TOKEN")), pro: localConfig.UBool("pro", false), diff --git a/modules/travisci/widget.go b/modules/travisci/widget.go index 151b9708..de948a09 100644 --- a/modules/travisci/widget.go +++ b/modules/travisci/widget.go @@ -34,7 +34,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "TravisCI", "travisci", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), settings: settings, } diff --git a/modules/trello/settings.go b/modules/trello/settings.go index c02bcf5d..f7c39df4 100644 --- a/modules/trello/settings.go +++ b/modules/trello/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "trello" + type Settings struct { common *cfg.Common @@ -17,11 +19,11 @@ type Settings struct { username string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.trello") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), accessToken: localConfig.UString("accessToken", os.Getenv("WTF_TRELLO_ACCESS_TOKEN")), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_TRELLO_APP_KEY")), diff --git a/modules/trello/widget.go b/modules/trello/widget.go index 8ba8c89e..2c5a6f19 100644 --- a/modules/trello/widget.go +++ b/modules/trello/widget.go @@ -16,7 +16,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "Trello", "trello", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } diff --git a/modules/twitter/settings.go b/modules/twitter/settings.go index 7b139d6e..487fdb30 100644 --- a/modules/twitter/settings.go +++ b/modules/twitter/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "twitter" + type Settings struct { common *cfg.Common @@ -15,11 +17,11 @@ type Settings struct { screenNames []interface{} } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.twitter") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), bearerToken: localConfig.UString("bearerToken", os.Getenv("WTF_TWITTER_BEARER_TOKEN")), count: localConfig.UInt("count", 5), diff --git a/modules/twitter/widget.go b/modules/twitter/widget.go index f7dad81f..874a0815 100644 --- a/modules/twitter/widget.go +++ b/modules/twitter/widget.go @@ -36,8 +36,8 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - MultiSourceWidget: wtf.NewMultiSourceWidget("twitter", "screenName", "screenNames"), - TextWidget: wtf.NewTextWidget(app, "Twitter", "twitter", true), + MultiSourceWidget: wtf.NewMultiSourceWidget(settings.common.ConfigKey, "screenName", "screenNames"), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), idx: 0, settings: settings, diff --git a/modules/unknown/settings.go b/modules/unknown/settings.go index a6530cdc..20a53e6c 100644 --- a/modules/unknown/settings.go +++ b/modules/unknown/settings.go @@ -5,13 +5,15 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "unkown" + type Settings struct { common *cfg.Common } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), } return &settings diff --git a/modules/victorops/settings.go b/modules/victorops/settings.go index ba4c106c..07cdb864 100644 --- a/modules/victorops/settings.go +++ b/modules/victorops/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "victorops" + type Settings struct { common *cfg.Common @@ -15,11 +17,11 @@ type Settings struct { team string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.victorops") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiID: localConfig.UString("apiID", os.Getenv("WTF_VICTOROPS_API_ID")), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_VICTOROPS_API_KEY")), diff --git a/modules/victorops/widget.go b/modules/victorops/widget.go index 24a49a52..81eb37ba 100644 --- a/modules/victorops/widget.go +++ b/modules/victorops/widget.go @@ -27,7 +27,7 @@ type Widget struct { // NewWidget creates a new widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "VictorOps - OnCall", "victorops", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), } widget.View.SetScrollable(true) diff --git a/modules/weatherservices/prettyweather/settings.go b/modules/weatherservices/prettyweather/settings.go index 24fe08b7..55e99818 100644 --- a/modules/weatherservices/prettyweather/settings.go +++ b/modules/weatherservices/prettyweather/settings.go @@ -5,6 +5,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "prettyweather" + type Settings struct { common *cfg.Common @@ -14,11 +16,11 @@ type Settings struct { language string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.prettyweather") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), city: localConfig.UString("city", "Barcelona"), language: localConfig.UString("language", "en"), diff --git a/modules/weatherservices/prettyweather/widget.go b/modules/weatherservices/prettyweather/widget.go index 6faee73d..43c49485 100644 --- a/modules/weatherservices/prettyweather/widget.go +++ b/modules/weatherservices/prettyweather/widget.go @@ -18,7 +18,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "Pretty Weather", "prettyweather", false), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, false), settings: settings, } diff --git a/modules/weatherservices/weather/settings.go b/modules/weatherservices/weather/settings.go index 1f52db16..e35b5480 100644 --- a/modules/weatherservices/weather/settings.go +++ b/modules/weatherservices/weather/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "weather" + type colors struct { current string } @@ -21,11 +23,11 @@ type Settings struct { tempUnit string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.weather") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiKey: localConfig.UString("apiKey", os.Getenv("WTF_OWM_API_KEY")), cityIDs: localConfig.UList("cityids"), diff --git a/modules/weatherservices/weather/widget.go b/modules/weatherservices/weather/widget.go index 13bcb5ed..60b38379 100644 --- a/modules/weatherservices/weather/widget.go +++ b/modules/weatherservices/weather/widget.go @@ -33,7 +33,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ HelpfulWidget: wtf.NewHelpfulWidget(app, pages, HelpText), - TextWidget: wtf.NewTextWidget(app, "Weather", "weather", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), Idx: 0, settings: settings, diff --git a/modules/zendesk/settings.go b/modules/zendesk/settings.go index 9bc1a407..f70fe09f 100644 --- a/modules/zendesk/settings.go +++ b/modules/zendesk/settings.go @@ -7,6 +7,8 @@ import ( "github.com/wtfutil/wtf/cfg" ) +const configKey = "zendesk" + type Settings struct { common *cfg.Common @@ -16,11 +18,11 @@ type Settings struct { username string } -func NewSettingsFromYAML(ymlConfig *config.Config) *Settings { - localConfig, _ := ymlConfig.Get("wtf.mods.zendesk") +func NewSettingsFromYAML(name string, ymlConfig *config.Config) *Settings { + localConfig, _ := ymlConfig.Get("wtf.mods." + configKey) settings := Settings{ - common: cfg.NewCommonSettingsFromYAML(ymlConfig), + common: cfg.NewCommonSettingsFromYAML(name, configKey, ymlConfig), apiKey: localConfig.UString("apiKey", os.Getenv("ZENDESK_API")), status: localConfig.UString("status"), diff --git a/modules/zendesk/widget.go b/modules/zendesk/widget.go index eb00b0c6..6a282a4d 100644 --- a/modules/zendesk/widget.go +++ b/modules/zendesk/widget.go @@ -19,7 +19,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: wtf.NewTextWidget(app, "Zendesk", "zendesk", true), + TextWidget: wtf.NewTextWidget(app, settings.common.Name, settings.common.ConfigKey, true), settings: settings, }