From 162c5b4d768a8e1c74ef077a36f8e4fed19eba75 Mon Sep 17 00:00:00 2001 From: Sean Smith Date: Fri, 30 Dec 2022 15:45:14 -0500 Subject: [PATCH 1/2] Migrate to v2 of the todoist api IDs are strings, fixing a lot of the previous problems Relies on https://github.com/wtfutil/todoist/pull/4 --- modules/todo_plus/backend/todoist.go | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/modules/todo_plus/backend/todoist.go b/modules/todo_plus/backend/todoist.go index a49b1f4fa..241b234a6 100644 --- a/modules/todo_plus/backend/todoist.go +++ b/modules/todo_plus/backend/todoist.go @@ -1,7 +1,7 @@ package backend import ( - "strconv" + "fmt" "github.com/olebedev/config" "github.com/wtfutil/todoist" @@ -24,7 +24,7 @@ func (todo *Todoist) BuildProjects() []*Project { projects := []*Project{} for _, id := range todo.projects { - i := strconv.Itoa(id.(int)) + i := fmt.Sprintf("%v", id) proj := todo.GetProject(i) projects = append(projects, proj) } @@ -38,15 +38,13 @@ func (todo *Todoist) GetProject(id string) *Project { Index: -1, backend: todo, } - i64, _ := strconv.ParseUint(id, 10, 32) - i := uint(i64) - project, err := todoist.GetProject(i) + project, err := todoist.GetProject(id) if err != nil { proj.Err = err return proj } - proj.ID = strconv.FormatUint(uint64(project.ID), 10) + proj.ID = project.ID proj.Name = project.Name tasks, err := todo.LoadTasks(proj.ID) @@ -57,9 +55,8 @@ func (todo *Todoist) GetProject(id string) *Project { } func toTask(task todoist.Task) Task { - id := strconv.FormatUint(uint64(task.ID), 10) return Task{ - ID: id, + ID: task.ID, Completed: task.Completed, Name: task.Content, } @@ -80,9 +77,7 @@ func (todo *Todoist) LoadTasks(id string) ([]Task, error) { func (todo *Todoist) CloseTask(task *Task) error { if task != nil { - i64, _ := strconv.ParseUint(task.ID, 10, 32) - i := uint(i64) - internal := todoist.Task{ID: i} + internal := todoist.Task{ID: task.ID} return internal.Close() } return nil @@ -90,9 +85,7 @@ func (todo *Todoist) CloseTask(task *Task) error { func (todo *Todoist) DeleteTask(task *Task) error { if task != nil { - i64, _ := strconv.ParseUint(task.ID, 10, 32) - i := uint(i64) - internal := todoist.Task{ID: i} + internal := todoist.Task{ID: task.ID} return internal.Delete() } return nil @@ -101,7 +94,7 @@ func (todo *Todoist) DeleteTask(task *Task) error { func (todo *Todoist) Sources() []string { var result []string for _, id := range todo.projects { - i := strconv.Itoa(id.(int)) + i := fmt.Sprintf("%v", id) result = append(result, i) } return result From ed7b262454a82e09c4b68c122391238c94fc92ae Mon Sep 17 00:00:00 2001 From: Sean Smith Date: Thu, 23 Feb 2023 23:11:11 -0600 Subject: [PATCH 2/2] Swap in own fork of todoist --- go.mod | 3 ++- go.sum | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 5950cce2d..1997f5200 100644 --- a/go.mod +++ b/go.mod @@ -57,7 +57,6 @@ require ( golang.org/x/sys v0.5.0 // indirect golang.org/x/text v0.7.0 google.golang.org/api v0.110.0 - gopkg.in/jarcoal/httpmock.v1 v1.0.0-20181110093347-3be5f16b70eb // indirect gopkg.in/yaml.v2 v2.4.0 gotest.tools v2.2.0+incompatible jaytaylor.com/html2text v0.0.0-20200412013138-3577fbdbcff7 @@ -220,3 +219,5 @@ require ( sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) + +replace github.com/wtfutil/todoist => github.com/Seanstoppable/todoist v0.0.0-20221214042915-6505286e6b1e diff --git a/go.sum b/go.sum index 22e3aaf71..55bb1c5e8 100644 --- a/go.sum +++ b/go.sum @@ -41,6 +41,8 @@ github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C6 github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= github.com/PuerkitoBio/goquery v1.8.0 h1:PJTF7AmFCFKk1N6V6jmKfrNH9tV5pNE6lZMkG0gta/U= github.com/PuerkitoBio/goquery v1.8.0/go.mod h1:ypIiRMtY7COPGk+I/YbZLbxsxn9g5ejnI2HSMtkjZvI= +github.com/Seanstoppable/todoist v0.0.0-20221214042915-6505286e6b1e h1:w93C4hCyUIJP4cINLj3dbzoeH+RxMZDM9y2E5srOWfQ= +github.com/Seanstoppable/todoist v0.0.0-20221214042915-6505286e6b1e/go.mod h1:bWQGh9tPjlHVD7ooTyNVFuNRngl64FepP9wYpF5ObBM= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/VictorAvelar/devto-api-go v1.0.0 h1:oXmzye3xYvlgBX18vX4+v6LVbjoihgIokpeOpzeJzqU= @@ -347,6 +349,7 @@ github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jarcoal/httpmock v1.2.0 h1:gSvTxxFR/MEMfsGrvRbdfpRUMBStovlSRLw0Ep1bwwc= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jedib0t/go-pretty/v6 v6.4.4 h1:N+gz6UngBPF4M288kiMURPHELDMIhF/Em35aYuKrsSc= @@ -649,8 +652,6 @@ github.com/ulikunitz/xz v0.5.9 h1:RsKRIA2MO8x56wkkcd3LbtcE/uMszhb6DpRf+3uwa3I= github.com/ulikunitz/xz v0.5.9/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/wtfutil/spotigopher v0.0.0-20191127141047-7d8168fe103a h1:2eyMT9EpTPS4PiVfvXvqA8PKB5FoSl6gGjgb3CQ0cug= github.com/wtfutil/spotigopher v0.0.0-20191127141047-7d8168fe103a/go.mod h1:AlO4kKlF1zyOHTq2pBzxEERdBDStJev0VZNukFEqz/E= -github.com/wtfutil/todoist v0.0.2-0.20191216004217-0ec29ceda61a h1:nD8ALd4TSo+zPHK5MqQWFj01G8fMMHFfC3rWvoq/9JA= -github.com/wtfutil/todoist v0.0.2-0.20191216004217-0ec29ceda61a/go.mod h1:YuuGLJSsTK6DGBD5Zaf3J8LSMfpEC2WtzYPey3XVOdI= github.com/xanzy/go-gitlab v0.80.2 h1:CH1Q7NDklqZllox4ICVF4PwlhQGfPtE+w08Jsb74ZX0= github.com/xanzy/go-gitlab v0.80.2/go.mod h1:DlByVTSXhPsJMYL6+cm8e8fTJjeBmhrXdC/yvkKKt6M= github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= @@ -935,8 +936,6 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/jarcoal/httpmock.v1 v1.0.0-20181110093347-3be5f16b70eb h1:ggw12VRqlkVtHkyK+zh3QP+V6PIGAuKQG/u0Mnkn6TQ= -gopkg.in/jarcoal/httpmock.v1 v1.0.0-20181110093347-3be5f16b70eb/go.mod h1:d3R+NllX3X5e0zlG1Rful3uLvsGC/Q3OHut5464DEQw= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=