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

Configuration used throughout the app

This commit is contained in:
Chris Cummer
2018-04-04 14:30:05 -07:00
committed by Chris Cummer
parent 45d88c6700
commit c3f1d7ee36
13 changed files with 102 additions and 83 deletions

View File

@@ -23,6 +23,38 @@ import (
"google.golang.org/api/calendar/v3"
)
/* -------------------- Exported Functions -------------------- */
func Fetch() (*calendar.Events, error) {
ctx := context.Background()
b, err := ioutil.ReadFile("./gcal/client_secret.json")
if err != nil {
return nil, err
}
config, err := google.ConfigFromJSON(b, calendar.CalendarReadonlyScope)
if err != nil {
return nil, err
}
client := getClient(ctx, config)
srv, err := calendar.New(client)
if err != nil {
return nil, err
}
t := today().Format(time.RFC3339)
events, err := srv.Events.List("primary").ShowDeleted(false).SingleEvents(true).TimeMin(t).MaxResults(10).OrderBy("startTime").Do()
if err != nil {
return nil, err
}
return events, err
}
/* -------------------- Unexported Functions -------------------- */
// getClient uses a Context and Config to retrieve a Token
// then generate a Client. It returns the generated Client.
func getClient(ctx context.Context, config *oauth2.Config) *http.Client {
@@ -96,34 +128,6 @@ func saveToken(file string, token *oauth2.Token) {
json.NewEncoder(f).Encode(token)
}
func Fetch() (*calendar.Events, error) {
ctx := context.Background()
b, err := ioutil.ReadFile("./gcal/client_secret.json")
if err != nil {
return nil, err
}
config, err := google.ConfigFromJSON(b, calendar.CalendarReadonlyScope)
if err != nil {
return nil, err
}
client := getClient(ctx, config)
srv, err := calendar.New(client)
if err != nil {
return nil, err
}
t := today().Format(time.RFC3339)
events, err := srv.Events.List("primary").ShowDeleted(false).SingleEvents(true).TimeMin(t).MaxResults(10).OrderBy("startTime").Do()
if err != nil {
return nil, err
}
return events, err
}
func today() time.Time {
now := time.Now()
return time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location())

View File

@@ -6,13 +6,17 @@ import (
"time"
"github.com/gdamore/tcell"
"github.com/olebedev/config"
"github.com/rivo/tview"
"github.com/senorprogrammer/wtf/wtf"
"google.golang.org/api/calendar/v3"
)
var Config *config.Config
type Widget struct {
wtf.BaseWidget
View *tview.TextView
}
@@ -21,7 +25,7 @@ func NewWidget() *Widget {
BaseWidget: wtf.BaseWidget{
Name: "Calendar",
RefreshedAt: time.Now(),
RefreshInt: 300,
RefreshInt: Config.UInt("wtf.gcal.refreshInterval", 300),
},
}