mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Capture API exceptions from todoist API
Rather than silently swallow, capture them and use them in rendering
This commit is contained in:
parent
c3a54de181
commit
0f9e07259e
@ -14,6 +14,10 @@ func (widget *Widget) content() (string, string, bool) {
|
||||
return widget.CommonSettings().Title, "", false
|
||||
}
|
||||
|
||||
if proj.err != nil {
|
||||
return widget.CommonSettings().Title, proj.err.Error(), true
|
||||
}
|
||||
|
||||
title := fmt.Sprintf("[green]%s[white]", proj.Project.Name)
|
||||
|
||||
str := ""
|
||||
|
@ -11,21 +11,22 @@ type Project struct {
|
||||
|
||||
index int
|
||||
tasks []todoist.Task
|
||||
err error
|
||||
}
|
||||
|
||||
func NewProject(id int) *Project {
|
||||
// Todoist seems to experience a lot of network issues on their side
|
||||
// If we can't connect, handle it with an empty project until we can
|
||||
project, err := todoist.GetProject(id)
|
||||
if err != nil {
|
||||
return &Project{}
|
||||
}
|
||||
|
||||
proj := &Project{
|
||||
Project: project,
|
||||
|
||||
index: -1,
|
||||
}
|
||||
if err != nil {
|
||||
proj.err = err
|
||||
return proj
|
||||
}
|
||||
|
||||
proj.Project = project
|
||||
|
||||
proj.loadTasks()
|
||||
|
||||
@ -38,7 +39,11 @@ func (proj *Project) isLast() bool {
|
||||
|
||||
func (proj *Project) loadTasks() {
|
||||
tasks, err := todoist.ListTask(todoist.QueryParam{"project_id": fmt.Sprintf("%d", proj.ID)})
|
||||
if err == nil {
|
||||
if err != nil {
|
||||
proj.err = err
|
||||
proj.tasks = nil
|
||||
} else {
|
||||
proj.err = nil
|
||||
proj.tasks = tasks
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user