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

Merge branch 'master' into master

This commit is contained in:
Chris Cummer 2018-06-08 11:59:54 -07:00 committed by GitHub
commit 1523ef6245
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 56 additions and 128 deletions

View File

@ -3,18 +3,8 @@ name: Bug Report
about: Something is broken?
---
### Bug Report
#### What's the problem?
#### Summary
<!-- Provide a summary desciribing the problem you are experiencing. -->
##### What is the current behaviour?
<!-- wtf crashes-->
#### How did you expect it to behave?
### How to reproduce
##### If the current behaviour is a bug, please provide the steps to reproduce it.
<!-- A great way to do this is to provide screenshots and commands.* -->
##### What do you think the expected behaviour should be?
<!--What do you think should happen?-->

View File

@ -3,14 +3,9 @@ name: Feature Request
about: You have a neat idea that should be implemented?
---
### Feature Request
<!-- Fill in the relevant information below to help triage your issue. -->
#### What problem does this solve?
#### How do envision it working?
| Q | A
|------------ | ------
| New Feature | yes
| RFC | yes/no
| BC Break | yes/no
#### Summary
<!-- Provide a summary of the feature you would like to see implemented. -->

View File

@ -3,9 +3,6 @@ name: ❓ Support Question
about: Have a problem that you can't figure out?
---
| Q | A
|------------ | -----
| Version | 0.0.4
#### Support Question
<!-- Describe the issue you are facing here. -->
#### What problem are you having and how can we help?

View File

@ -3,14 +3,9 @@ name: Improvement
about: You have some improvement to make wtf better?
---
### Improvement
<!-- Fill in the relevant information below to help triage your issue. -->
#### What problem does this solve?
#### Is this related to an existing Issue? If so, which one?
| Q | A
|------------ | ------
| New Feature | yes
| RFC | yes/no
| BC Break | yes/no
#### Summary
<!-- Provide a summary of the improvement you are submitting. -->

View File

@ -5,14 +5,7 @@ about: You have some other ideas you want to introduce?
<!-- Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. -->
**What kind of change does this PR introduce?**
<!-- E.g. a bugfix, feature, refactoring, build related change, etc… -->
#### What problem does this solve?
**Summary**
<!-- Explain the **motivation** for making this change. What existing problem does the pull request solve? -->
<!-- Try to link to an open issue for more information. -->
**Does this PR introduce a breaking change?**
<!-- If this PR introduces a breaking change, please describe the impact and a migration path for existing applications. -->
**Other information**

View File

@ -25,10 +25,6 @@ func NewWidget() *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
client := NewClient("https://api.bamboohr.com/api/gateway.php")
todayItems := client.Away(
"timeOff",

View File

@ -29,10 +29,6 @@ func NewWidget() *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.UpdateRefreshedAt()
widget.display(widget.clockColl.Sorted())
}

View File

@ -34,10 +34,6 @@ func NewWidget() *Widget {
}
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.UpdateRefreshedAt()
widget.execute()
widget.View.SetTitle(fmt.Sprintf(" %s ", widget))

View File

@ -100,10 +100,6 @@ func makeMarketCurrency(name string) *mCurrency {
// Refresh & update after interval time
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.updateSummary()
widget.UpdateRefreshedAt()
widget.display()

View File

@ -38,10 +38,6 @@ func NewWidget() *Widget {
// Refresh & update after interval time
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.updateCurrencies()
widget.UpdateRefreshedAt()

View File

@ -29,10 +29,6 @@ func NewWidget() *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
events, _ := Fetch()
widget.UpdateRefreshedAt()

View File

@ -49,10 +49,6 @@ func NewWidget(app *tview.Application, pages *tview.Pages) *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
repoPaths := wtf.ToStrs(Config.UList("wtf.mods.git.repositories"))
widget.UpdateRefreshedAt()

View File

@ -51,10 +51,6 @@ func NewWidget(app *tview.Application, pages *tview.Pages) *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
for _, repo := range widget.GithubRepos {
repo.Refresh()
}

View File

@ -47,10 +47,6 @@ func NewWidget() *Widget {
}
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.UpdateRefreshedAt()
widget.ipinfo()
widget.View.Clear()
@ -73,10 +69,7 @@ func (widget *Widget) ipinfo() {
return
}
defer response.Body.Close()
if err != nil {
widget.result = fmt.Sprintf("%s", err.Error())
return
}
var info ipinfo
err = json.NewDecoder(response.Body).Decode(&info)
if err != nil {

View File

@ -25,10 +25,6 @@ func NewWidget() *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
searchResult, err := IssuesFor(Config.UString("wtf.mods.jira.username"), Config.UString("wtf.mods.jira.project", ""), Config.UString("wtf.mods.jira.jql", ""))
widget.UpdateRefreshedAt()

View File

@ -26,10 +26,6 @@ func NewWidget() *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
app, appErr := Application()
deploys, depErr := Deployments()

View File

@ -26,10 +26,6 @@ func NewWidget() *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
data, err := Fetch()
widget.UpdateRefreshedAt()

View File

@ -28,10 +28,6 @@ func NewWidget() *Widget {
}
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.UpdateRefreshedAt()
widget.Battery.Refresh()

View File

@ -30,10 +30,6 @@ func NewWidget() *Widget {
}
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.UpdateRefreshedAt()
widget.prettyWeather()

View File

@ -26,10 +26,6 @@ func NewWidget() *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
data := NewSecurityData()
data.Fetch()

View File

@ -28,10 +28,6 @@ func NewWidget() *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.UpdateRefreshedAt()
widget.View.SetText(

View File

@ -33,10 +33,6 @@ func NewWidget(date, version string) *Widget {
}
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.UpdateRefreshedAt()
widget.View.SetText(

View File

@ -48,10 +48,6 @@ func NewWidget(app *tview.Application, pages *tview.Pages) *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.UpdateRefreshedAt()
widget.View.SetTitle(fmt.Sprintf("%s %s", widget.Name, widget.filePath))

View File

@ -61,10 +61,6 @@ func NewWidget(app *tview.Application, pages *tview.Pages) *Widget {
/* -------------------- Exported Functions -------------------- */
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.UpdateRefreshedAt()
widget.load()
widget.display()

View File

@ -74,10 +74,6 @@ func (widget *Widget) Fetch(cityIDs []int) []*owm.CurrentWeatherData {
// Refresh fetches new data from the OpenWeatherMap API and loads the new data into the.
// widget's view for rendering
func (widget *Widget) Refresh() {
if widget.Disabled() {
return
}
widget.Data = widget.Fetch(wtf.ToInts(Config.UList("wtf.mods.weather.cityids", widget.defaultCityCodes())))
widget.UpdateRefreshedAt()

10
wtf.go
View File

@ -122,6 +122,8 @@ func watchForConfigChanges(app *tview.Application, configFlag string, grid *tvie
select {
case <-watch.Event:
loadConfig(configFlag)
// Disable all widgets to stop scheduler goroutines and rmeove widgets from memory.
disableAllWidgets()
makeWidgets(app, pages)
grid = buildGrid(Widgets)
pages.AddPage("grid", grid, true, true)
@ -156,6 +158,12 @@ var (
version = "dev"
)
func disableAllWidgets() {
for _, widget := range Widgets {
widget.Disable()
}
}
func addWidget(app *tview.Application, pages *tview.Pages, widgetName string) {
// Always in alphabetical order
switch widgetName {
@ -288,4 +296,6 @@ func main() {
fmt.Printf("An error occurred: %v\n", err)
os.Exit(1)
}
wtf.Log("running!")
}

View File

@ -3,4 +3,5 @@ package wtf
type Enabler interface {
Disabled() bool
Enabled() bool
Disable()
}

26
wtf/log.go Normal file
View File

@ -0,0 +1,26 @@
package wtf
import (
"log"
"os"
"path/filepath"
)
//Log basic message logging, defaults to ~/.wtf/log.txt
func Log(message string) {
dir, err := Home()
if err != nil {
return
}
logfile := filepath.Join(dir, ".wtf", "log.txt")
f, err := os.OpenFile(logfile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
if err != nil {
log.Fatalf("error opening file: %v", err)
}
defer f.Close()
log.SetOutput(f)
log.Println(message)
}

View File

@ -61,6 +61,10 @@ func (widget *TextWidget) Enabled() bool {
return widget.enabled
}
func (widget *TextWidget) Disable() {
widget.enabled = false
}
func (widget *TextWidget) Focusable() bool {
return widget.enabled && widget.focusable
}