Cleanup for readability
This commit is contained in:
@ -1,3 +1,4 @@
|
||||
// Package glist handles the list processing
|
||||
package glist
|
||||
|
||||
import (
|
||||
@ -34,16 +35,17 @@ func NewGList(chatID int, items ...string) *GList {
|
||||
return &g
|
||||
}
|
||||
|
||||
var PersistReqC chan<- *GList
|
||||
var persistReqC chan<- *GList
|
||||
|
||||
func startPersistenceGoR() {
|
||||
reqs := make(chan *GList, 50)
|
||||
PersistReqC = reqs
|
||||
persistReqC = reqs
|
||||
go func() {
|
||||
lists := map[*GList]struct{}{}
|
||||
for g := range reqs {
|
||||
lists[g] = struct{}{}
|
||||
time.Sleep(5 * time.Second)
|
||||
lists := map[*GList]struct{}{
|
||||
g: struct{}{},
|
||||
}
|
||||
time.Sleep(5 * time.Second) // Collect all persist requests for 5 seconds
|
||||
for len(reqs) > 0 {
|
||||
g := <-reqs
|
||||
lists[g] = struct{}{}
|
||||
@ -51,7 +53,6 @@ func startPersistenceGoR() {
|
||||
for g := range lists {
|
||||
g.persist()
|
||||
}
|
||||
lists = make(map[*GList]struct{}, len(lists))
|
||||
}
|
||||
}()
|
||||
}
|
||||
@ -83,14 +84,14 @@ outer:
|
||||
}
|
||||
g.Items = append(g.Items, Entry{text, false})
|
||||
}
|
||||
PersistReqC <- g
|
||||
persistReqC <- g
|
||||
}
|
||||
|
||||
func (g *GList) Toggle(text string) {
|
||||
for i, item := range g.Items {
|
||||
if item.Text == text {
|
||||
g.Items[i].Checked = !g.Items[i].Checked
|
||||
PersistReqC <- g
|
||||
persistReqC <- g
|
||||
return
|
||||
}
|
||||
}
|
||||
@ -105,7 +106,7 @@ func (g *GList) ClearChecked() {
|
||||
}
|
||||
}
|
||||
g.Items = remaining
|
||||
PersistReqC <- g
|
||||
persistReqC <- g
|
||||
}
|
||||
|
||||
type button struct {
|
||||
|
@ -21,7 +21,7 @@ func TestGList(t *testing.T) {
|
||||
func TestSplit(t *testing.T) {
|
||||
g := &GList{}
|
||||
//This resets the channel, so test does not try to persist
|
||||
PersistReqC = make(chan *GList, 50)
|
||||
persistReqC = make(chan *GList, 50)
|
||||
g.Add("foo")
|
||||
g.Add("bar\nfoo\nblah")
|
||||
g.Add("foo")
|
||||
|
Reference in New Issue
Block a user