replace pause until with available

master
Bel LaPointe 2022-01-12 22:09:58 -05:00
parent b515143fc6
commit 3213c21c7e
5 changed files with 13 additions and 13 deletions

View File

@ -53,7 +53,7 @@ func (j Job) FormatMultilineText() string {
) )
} }
out := "" out := ""
clients := config.Clients() clients := config.Clients(j.Pickup.Date)
for k := range clients { for k := range clients {
log.Printf("job multiline: %+v contains %s then use %v", clients[k].States, j.Pickup.State, k) log.Printf("job multiline: %+v contains %s then use %v", clients[k].States, j.Pickup.State, k)
if strings.Contains(fmt.Sprint(clients[k].States), j.Pickup.State) { if strings.Contains(fmt.Sprint(clients[k].States), j.Pickup.State) {

View File

@ -29,7 +29,7 @@
"IDs": { "IDs": {
"Matrix": "@belandbroc:matrix.org" "Matrix": "@belandbroc:matrix.org"
}, },
"PauseUntil": 5642107200 "Available": 5642107200
}, },
"caleb": { "caleb": {
"States": [ "States": [
@ -38,7 +38,7 @@
"IDs": { "IDs": {
"Matrix": "@belandbroc:matrix.org" "Matrix": "@belandbroc:matrix.org"
}, },
"PauseUntil": -62135596800 "Available": -62135596800
}, },
"pa": { "pa": {
"States": [ "States": [
@ -47,7 +47,7 @@
"IDs": { "IDs": {
"Matrix": "@belandbroc:matrix.org" "Matrix": "@belandbroc:matrix.org"
}, },
"PauseUntil": -62135596800 "Available": -62135596800
} }
}, },
"Storage": [ "Storage": [

View File

@ -63,7 +63,7 @@ type Client struct {
IDs struct { IDs struct {
Matrix string Matrix string
} }
PauseUntil Time Available Time
} }
var live Config var live Config
@ -76,11 +76,11 @@ func configPath() string {
return p return p
} }
func Clients() map[string]Client { func Clients(t time.Time) map[string]Client {
clients := Get().Clients clients := Get().Clients
result := map[string]Client{} result := map[string]Client{}
for k := range clients { for k := range clients {
if clients[k].PauseUntil.Get().IsZero() || time.Now().After(clients[k].PauseUntil.Get()) { if clients[k].Available.Get().IsZero() || t.After(clients[k].Available.Get()) {
result[k] = clients[k] result[k] = clients[k]
} }
} }
@ -89,7 +89,7 @@ func Clients() map[string]Client {
func AllStates() []State { func AllStates() []State {
statem := map[State]struct{}{} statem := map[State]struct{}{}
for _, v := range Clients() { for _, v := range Clients(time.Now().Add(time.Hour * 24 * 365)) {
for _, state := range v.States { for _, state := range v.States {
statem[state] = struct{}{} statem[state] = struct{}{}
} }

View File

@ -77,12 +77,12 @@ func matrixrecv() error {
if _, ok := pauses[msg.Sender]; ok { if _, ok := pauses[msg.Sender]; ok {
continue continue
} }
if !strings.HasPrefix(msg.Content, "pause until") { if !strings.HasPrefix(msg.Content, "!available ") {
continue continue
} }
t, err := time.ParseInLocation( t, err := time.ParseInLocation(
"2006-01-02", "2006-01-02",
strings.TrimSpace(strings.TrimPrefix(msg.Content, "pause until")), strings.TrimSpace(strings.TrimPrefix(msg.Content, "!available ")),
time.Local, time.Local,
) )
if err == nil { if err == nil {
@ -103,10 +103,10 @@ func setNewPauses(pauses map[string]time.Time) {
changed := map[string]time.Time{} changed := map[string]time.Time{}
for client, pause := range pauses { for client, pause := range pauses {
clientconf := conf.Clients[client] clientconf := conf.Clients[client]
if clientconf.PauseUntil.Get().Unix() == pause.Unix() { if clientconf.Available.Get().Unix() == pause.Unix() {
continue continue
} }
clientconf.PauseUntil = config.Time(pause) clientconf.Available = config.Time(pause)
conf.Clients[client] = clientconf conf.Clients[client] = clientconf
changed[client] = pause changed[client] = pause
} }

View File

@ -43,7 +43,7 @@ func (m Matrix) Receive() ([]Message, error) {
for k := range config.Get().Clients { for k := range config.Get().Clients {
messages = append(messages, Message{Sender: k, Content: "OH"}) messages = append(messages, Message{Sender: k, Content: "OH"})
if k == "broc" { if k == "broc" {
messages = append(messages, Message{Sender: k, Content: "pause until 2148-10-" + fmt.Sprint(time.Now().Unix()%28)}) messages = append(messages, Message{Sender: k, Content: "!available 2148-10-" + fmt.Sprint(time.Now().Unix()%28)})
} }
} }
return messages, nil return messages, nil