Delete on completed and fetch on hold

This commit is contained in:
daru
2022-05-18 21:29:46 +02:00
parent be1419bfa7
commit 95294eb344
3 changed files with 47 additions and 35 deletions

View File

@@ -30,7 +30,7 @@ func Arbeit() {
for _, a := range animesUsers {
// iterate users
for _, u := range a.Users {
newProgress, updated, err := FetchProgress(a.Anime, u.MalID, u.Username, u.Progress)
newProgress, updated, listState, err := FetchProgress(a.Anime, u.MalID, u.Username, u.Progress)
if err != nil {
color.Errorln(err.Error())
logOut.WriteError(err)
@@ -41,21 +41,17 @@ func Arbeit() {
}
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))
animeData, err := SearchAnime(a.Anime)
if err != nil {
color.Errorln(err.Error())
logOut.WriteError(err)
} else {
if animeData.Episodes != 0 && newProgress >= animeData.Episodes {
color.Infof("%s finished %d\n", u.Username, a.Anime)
logOut.WriteLine(fmt.Sprintf("📜 %s finished %d !", u.Username, a.Anime))
_, err = DeleteUserFromAnime(u.Username, u.MalID, a.Anime)
if err != nil {
color.Errorln(err.Error())
logOut.WriteError(err)
}
continue
// check if user set anime as completed
if listState == malApiStatusC {
color.Infof("%s finished %d\n", u.Username, a.Anime)
logOut.WriteLine(fmt.Sprintf("📜 %s finished %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
}
// update db
err = UpdateUserAnimeProgress(a.Anime, u.MalID, newProgress, updated)