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

Merge branch 'master' into addLogging

This commit is contained in:
Bill Keenan 2018-06-07 16:02:54 -07:00 committed by GitHub
commit 1d20a29535
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 64 additions and 25 deletions

View File

@ -8,3 +8,5 @@ before_install:
- test ! -d $GOPATH/src/github.com/senorprogrammer/wtf && mv $TRAVIS_BUILD_DIR $GOPATH/src/github.com/senorprogrammer/wtf || true
- export TRAVIS_BUILD_DIR=$HOME/gopath/src/github.com/senorprogrammer/wtf
- cd $HOME/gopath/src/github.com/senorprogrammer/wtf
script: go get ./... && go get github.com/go-test/deep && go test -v github.com/senorprogrammer/wtf/wtf_tests

76
wtf.go
View File

@ -155,7 +155,56 @@ var (
version = "dev"
)
func addWidget(app *tview.Application, pages *tview.Pages, widgetName string) {
// Always in alphabetical order
switch widgetName {
case "bamboohr":
Widgets = append(Widgets, bamboohr.NewWidget())
case "bittrex":
Widgets = append(Widgets, bittrex.NewWidget())
case "clocks":
Widgets = append(Widgets, clocks.NewWidget())
case "cmdrunner":
Widgets = append(Widgets, cmdrunner.NewWidget())
case "cryptolive":
Widgets = append(Widgets, cryptolive.NewWidget())
case "gcal":
Widgets = append(Widgets, gcal.NewWidget())
case "git":
Widgets = append(Widgets, git.NewWidget(app, pages))
case "github":
Widgets = append(Widgets, github.NewWidget(app, pages))
case "ipinfo":
Widgets = append(Widgets, ipinfo.NewWidget())
case "jira":
Widgets = append(Widgets, jira.NewWidget())
case "newrelic":
Widgets = append(Widgets, newrelic.NewWidget())
case "opsgenie":
Widgets = append(Widgets, opsgenie.NewWidget())
case "power":
Widgets = append(Widgets, power.NewWidget())
case "prettyweather":
Widgets = append(Widgets, prettyweather.NewWidget())
case "security":
Widgets = append(Widgets, security.NewWidget())
case "status":
Widgets = append(Widgets, status.NewWidget())
case "system":
Widgets = append(Widgets, system.NewWidget(date, version))
case "textfile":
Widgets = append(Widgets, textfile.NewWidget(app, pages))
case "todo":
Widgets = append(Widgets, todo.NewWidget(app, pages))
case "weather":
Widgets = append(Widgets, weather.NewWidget(app, pages))
default:
}
}
func makeWidgets(app *tview.Application, pages *tview.Pages) {
Widgets = []wtf.Wtfable{}
// Always in alphabetical order
bamboohr.Config = Config
bittrex.Config = Config
@ -179,28 +228,11 @@ func makeWidgets(app *tview.Application, pages *tview.Pages) {
weather.Config = Config
wtf.Config = Config
// Always in alphabetical order
Widgets = []wtf.Wtfable{
bamboohr.NewWidget(),
bittrex.NewWidget(),
clocks.NewWidget(),
cmdrunner.NewWidget(),
cryptolive.NewWidget(),
gcal.NewWidget(),
git.NewWidget(app, pages),
github.NewWidget(app, pages),
ipinfo.NewWidget(),
jira.NewWidget(),
newrelic.NewWidget(),
opsgenie.NewWidget(),
power.NewWidget(),
prettyweather.NewWidget(),
security.NewWidget(),
status.NewWidget(),
system.NewWidget(date, version),
textfile.NewWidget(app, pages),
todo.NewWidget(app, pages),
weather.NewWidget(app, pages),
mods, _ := Config.Map("wtf.mods")
for mod := range mods {
if enabled, _ := Config.Bool("wtf.mods." + mod + ".enabled"); enabled {
addWidget(app, pages, mod)
}
}
FocusTracker = wtf.FocusTracker{

View File

@ -9,7 +9,7 @@ type Scheduler interface {
RefreshInterval() int
}
func Schedule(widget Scheduler) {
func Schedule(widget Wtfable) {
// Kick off the first refresh and then leave the rest to the timer
widget.Refresh()
@ -25,7 +25,12 @@ func Schedule(widget Scheduler) {
for {
select {
case <-tick.C:
widget.Refresh()
if widget.Enabled() {
widget.Refresh()
} else {
tick.Stop()
return
}
case <-quit:
tick.Stop()
return

View File

@ -74,7 +74,7 @@ func TestToInts(t *testing.T) {
actual := ToInts(source)
if diff := deep.Equal(expected, actual); diff != nil {
t.Fatalf("Expected %s but got %s", expected, actual)
t.Fatalf("Expected %v but got %v", expected, actual)
}
}