diff --git a/go.mod b/go.mod index 69cad02..928c0ab 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( require ( github.com/andybalholm/brotli v1.0.4 // indirect github.com/bwmarrin/snowflake v0.3.0 // indirect - github.com/klauspost/compress v1.15.4 // indirect + github.com/klauspost/compress v1.15.5 // indirect github.com/savsgio/gotils v0.0.0-20220401102855-e56b59f40436 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect diff --git a/go.sum b/go.sum index ba28db3..617b0a0 100644 --- a/go.sum +++ b/go.sum @@ -18,8 +18,8 @@ github.com/gookit/color v1.5.0/go.mod h1:43aQb+Zerm/BWh2GnrgOQm7ffz7tvQXEKV6BFMl github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.0/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.4 h1:1kn4/7MepF/CHmYub99/nNX8az0IJjfSOU/jbnTVfqQ= -github.com/klauspost/compress v1.15.4/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/compress v1.15.5 h1:qyCLMz2JCrKADihKOh9FxnW3houKeNsp2h5OEz0QSEA= +github.com/klauspost/compress v1.15.5/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/savsgio/gotils v0.0.0-20220401102855-e56b59f40436 h1:sfTahD3f2BSjx9U3R4K09PkNuZZWthT7g6vzTIXNWkM= @@ -59,8 +59,6 @@ golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220519141025-dcacdad47464 h1:MpIuURY70f0iKp/oooEFtB2oENcHITo/z1b6u41pKCw= -golang.org/x/sys v0.0.0-20220519141025-dcacdad47464/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= diff --git a/huso.go b/huso.go index 2f86cf2..4b511e6 100644 --- a/huso.go +++ b/huso.go @@ -17,7 +17,7 @@ import ( ) const ( - husoVersion = "1.1" + husoVersion = "1.2" registerSecret = "綾波レイ" seasonApiJikan = "seasons/now" seasonStrJikan = "seasons/" diff --git a/praktikant.go b/praktikant.go index fc258a3..a510c49 100644 --- a/praktikant.go +++ b/praktikant.go @@ -36,11 +36,6 @@ func Arbeit() { logOut.WriteError(err) continue } - if newProgress == u.Progress { - continue - } - color.Infof("%s progress von %d: %d -> %d\n", u.Username, a.Anime, u.Progress, newProgress) - logOut.WriteLine(fmt.Sprintf("📜 %s progress von %d: %d -> %d", u.Username, a.Anime, u.Progress, newProgress)) // check if user set anime as completed if listState == malApiStatusC { color.Infof("%s finished %d\n", u.Username, a.Anime) @@ -53,6 +48,23 @@ func Arbeit() { } continue } + // check if user set anime as dropped + if listState == malApiStatusD { + color.Infof("%s dropped %d\n", u.Username, a.Anime) + logOut.WriteLine(fmt.Sprintf("📜 %s dropped %d !", u.Username, a.Anime)) + // delete user from anime + _, err = DeleteUserFromAnime(u.Username, u.MalID, a.Anime) + if err != nil { + color.Errorln(err.Error()) + logOut.WriteError(err) + } + continue + } + if newProgress == u.Progress { + continue + } + color.Infof("%s progress von %d: %d -> %d\n", u.Username, a.Anime, u.Progress, newProgress) + logOut.WriteLine(fmt.Sprintf("📜 %s progress von %d: %d -> %d", u.Username, a.Anime, u.Progress, newProgress)) // update db err = UpdateUserAnimeProgress(a.Anime, u.MalID, newProgress, updated) if err != nil { diff --git a/schaffer.go b/schaffer.go index a68c48b..c3f35e9 100644 --- a/schaffer.go +++ b/schaffer.go @@ -185,7 +185,15 @@ func FetchProgress(animeId, userId int64, username string, progress int) (int, t if newProgress != -1 { return newProgress, updated, malApiStatusC, err } - // has no progress or dropped + // check dropped + newProgress, updated, err = fetchProgressOnState(animeId, userId, progress, username, malApiStatusD) + if err != nil { + return newProgress, updated, "", err + } + if newProgress != -1 { + return newProgress, updated, malApiStatusD, err + } + // has no progress or PTW return 0, updated, "", nil }