Add special return code for 'already booked'

master
Jonas Letzbor 2023-10-10 09:51:45 +02:00
parent 3346dacc67
commit 5442a43211
Signed by: RPJosh
GPG Key ID: 46D72F589702E55A
3 changed files with 33 additions and 3 deletions

View File

@ -41,10 +41,22 @@ func main() {
switch strings.ToLower(os.Args[1]) { switch strings.ToLower(os.Args[1]) {
case "kommen": case "kommen":
if err := inf.Kommen(); err != nil { if err := inf.Kommen(); err != nil {
// Special return code for "already booked"
if strings.HasPrefix(err.Error(), "last booking was already") {
logger.Error("Failed to book 'kommen': %s", err)
os.Exit(2)
}
logger.Fatal("Failed to book 'kommen': %s", err) logger.Fatal("Failed to book 'kommen': %s", err)
} }
case "gehen": case "gehen":
if err := inf.Gehen(); err != nil { if err := inf.Gehen(); err != nil {
// Special return code for "already booked"
if strings.HasPrefix(err.Error(), "last booking was already") {
logger.Error("Failed to book 'gehen': %s", err)
os.Exit(2)
}
logger.Fatal("Failed to book 'gehen': %s", err) logger.Fatal("Failed to book 'gehen': %s", err)
} }
case "abwesend": case "abwesend":
@ -60,11 +72,23 @@ func main() {
// Buche kommen und dann gehen // Buche kommen und dann gehen
if err := inf.Gehen(); err != nil { if err := inf.Gehen(); err != nil {
logger.Fatal("Failed to book 'kommen': %s", err) // Special return code for "already booked"
if strings.HasPrefix(err.Error(), "last booking was already") {
logger.Error("Failed to book 'gehen': %s", err)
os.Exit(2)
}
logger.Fatal("Failed to book 'gehen': %s", err)
} }
logger.Info("Waiting %d minutes....", minutes) logger.Info("Waiting %d minutes....", minutes)
time.Sleep(time.Duration(minutes * int(time.Minute))) time.Sleep(time.Duration(minutes * int(time.Minute)))
if err := inf.Kommen(); err != nil { if err := inf.Kommen(); err != nil {
// Special return code for "already booked"
if strings.HasPrefix(err.Error(), "last booking was already") {
logger.Error("Failed to book 'kommen': %s", err)
os.Exit(2)
}
logger.Fatal("Failed to book 'kommen': %s", err) logger.Fatal("Failed to book 'kommen': %s", err)
} }

4
go.mod
View File

@ -3,7 +3,7 @@ module gitea.hama.de/LFS/infoniqa-scripts
go 1.19 go 1.19
require ( require (
git.rpjosh.de/RPJosh/go-logger v1.3.0 // indirect git.rpjosh.de/RPJosh/go-logger v1.3.2 // indirect
golang.org/x/sys v0.12.0 // indirect golang.org/x/sys v0.13.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
) )

6
go.sum
View File

@ -2,8 +2,14 @@ git.rpjosh.de/RPJosh/go-logger v1.2.1 h1:yzx9+mFIC+2TXI93EGeuRvow++yte8bpQ0GtDvL
git.rpjosh.de/RPJosh/go-logger v1.2.1/go.mod h1:iD3KaRyOIkYMj7E+xFMn5uDVCzW1lSJQopz1Fl1+BSM= git.rpjosh.de/RPJosh/go-logger v1.2.1/go.mod h1:iD3KaRyOIkYMj7E+xFMn5uDVCzW1lSJQopz1Fl1+BSM=
git.rpjosh.de/RPJosh/go-logger v1.3.0 h1:oKjOEMC5RSge3qhyoXaegkvotNYOug67CADDnBKDXQU= git.rpjosh.de/RPJosh/go-logger v1.3.0 h1:oKjOEMC5RSge3qhyoXaegkvotNYOug67CADDnBKDXQU=
git.rpjosh.de/RPJosh/go-logger v1.3.0/go.mod h1:iD3KaRyOIkYMj7E+xFMn5uDVCzW1lSJQopz1Fl1+BSM= git.rpjosh.de/RPJosh/go-logger v1.3.0/go.mod h1:iD3KaRyOIkYMj7E+xFMn5uDVCzW1lSJQopz1Fl1+BSM=
git.rpjosh.de/RPJosh/go-logger v1.3.1 h1:O8pxDWnrJ528pUYyHxsKHfdkalVBHw8AKWVxB2CDGjQ=
git.rpjosh.de/RPJosh/go-logger v1.3.1/go.mod h1:iD3KaRyOIkYMj7E+xFMn5uDVCzW1lSJQopz1Fl1+BSM=
git.rpjosh.de/RPJosh/go-logger v1.3.2 h1:y8qFEBYeJzLLi6H7CpHHGb2pB0IyfHSG6m6o8TxL1uo=
git.rpjosh.de/RPJosh/go-logger v1.3.2/go.mod h1:iD3KaRyOIkYMj7E+xFMn5uDVCzW1lSJQopz1Fl1+BSM=
golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=