mirror of
https://github.com/ultrasn0w/huso.git
synced 2025-12-14 14:29:52 +01:00
the big talk
This commit is contained in:
2
huso.go
2
huso.go
@@ -74,7 +74,7 @@ func main() {
|
|||||||
color.Notice.Printf("huso %s built on %s with %s\n", husoVersion, buildTime, runtime.Version())
|
color.Notice.Printf("huso %s built on %s with %s\n", husoVersion, buildTime, runtime.Version())
|
||||||
logOut.WriteLine(fmt.Sprintf("🎉 huso %s built on %s with %s", husoVersion, buildTime, runtime.Version()))
|
logOut.WriteLine(fmt.Sprintf("🎉 huso %s built on %s with %s", husoVersion, buildTime, runtime.Version()))
|
||||||
|
|
||||||
jikanLimiter = rate.NewLimiter(rate.Every(time.Second), 1)
|
jikanLimiter = rate.NewLimiter(rate.Every(time.Second+(time.Millisecond*420)), 1)
|
||||||
|
|
||||||
// cache init
|
// cache init
|
||||||
var err error
|
var err error
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ func GetUserAnimeListData(username, status string) (*AnimeListMal, []byte, error
|
|||||||
var list AnimeListMal
|
var list AnimeListMal
|
||||||
data, err := animeListCache.Get(username + status)
|
data, err := animeListCache.Get(username + status)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
color.Infoln(username + "'s " + status + " abfragen...")
|
||||||
|
logOut.WriteLine("📄 " + username + "'s " + status + " abfragen...")
|
||||||
data, err = GetDataMal(userApiMal + username + "/animelist?limit=1000&status=" + status + "&fields=list_status")
|
data, err = GetDataMal(userApiMal + username + "/animelist?limit=1000&status=" + status + "&fields=list_status")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
|
|||||||
@@ -55,6 +55,9 @@ func Arbeit() {
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
color.Infoln("Animelisten abfragen...")
|
||||||
|
logOut.WriteLine("📜 Animelisten abfragen...")
|
||||||
|
count := 0
|
||||||
// iterate anime
|
// iterate anime
|
||||||
for _, a := range animesUsers {
|
for _, a := range animesUsers {
|
||||||
// iterate users
|
// iterate users
|
||||||
@@ -68,40 +71,45 @@ func Arbeit() {
|
|||||||
// check if user set anime as completed
|
// check if user set anime as completed
|
||||||
if listState == malApiStatusC {
|
if listState == malApiStatusC {
|
||||||
color.Infof("%s finished %d scored %d\n", u.Username, a.Anime, score)
|
color.Infof("%s finished %d scored %d\n", u.Username, a.Anime, score)
|
||||||
logOut.WriteLine(fmt.Sprintf("📜 %s finished %d scored %d !", u.Username, a.Anime, score))
|
logOut.WriteLine(fmt.Sprintf("📝 %s finished %d scored %d !", u.Username, a.Anime, score))
|
||||||
// delete user from anime
|
// delete user from anime
|
||||||
_, err = DeleteUserFromAnime(u.Username, u.MalID, a.Anime)
|
_, err = DeleteUserFromAnime(u.Username, u.MalID, a.Anime)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
color.Errorln(err.Error())
|
color.Errorln(err.Error())
|
||||||
logOut.WriteError(err)
|
logOut.WriteError(err)
|
||||||
}
|
}
|
||||||
|
count++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// check if user set anime as dropped
|
// check if user set anime as dropped
|
||||||
if listState == malApiStatusD {
|
if listState == malApiStatusD {
|
||||||
color.Infof("%s dropped %d\n", u.Username, a.Anime)
|
color.Infof("%s dropped %d\n", u.Username, a.Anime)
|
||||||
logOut.WriteLine(fmt.Sprintf("📜 %s dropped %d !", u.Username, a.Anime))
|
logOut.WriteLine(fmt.Sprintf("📝 %s dropped %d !", u.Username, a.Anime))
|
||||||
// delete user from anime
|
// delete user from anime
|
||||||
_, err = DeleteUserFromAnime(u.Username, u.MalID, a.Anime)
|
_, err = DeleteUserFromAnime(u.Username, u.MalID, a.Anime)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
color.Errorln(err.Error())
|
color.Errorln(err.Error())
|
||||||
logOut.WriteError(err)
|
logOut.WriteError(err)
|
||||||
}
|
}
|
||||||
|
count++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if newProgress == u.Progress {
|
if newProgress == u.Progress {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
color.Infof("%s progress von %d: %d -> %d\n", u.Username, a.Anime, u.Progress, newProgress)
|
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))
|
logOut.WriteLine(fmt.Sprintf("📝 %s progress von %d: %d -> %d", u.Username, a.Anime, u.Progress, newProgress))
|
||||||
// update db
|
// update db
|
||||||
err = UpdateUserAnimeProgress(a.Anime, u.MalID, newProgress, updated)
|
err = UpdateUserAnimeProgress(a.Anime, u.MalID, newProgress, updated)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
color.Errorln(err.Error())
|
color.Errorln(err.Error())
|
||||||
logOut.WriteError(err)
|
logOut.WriteError(err)
|
||||||
}
|
}
|
||||||
|
count++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
color.Infof("%d Sachen aktualisiert\n", count)
|
||||||
|
logOut.WriteLine(fmt.Sprintf("📜 %d Sachen aktualisiert", count))
|
||||||
}
|
}
|
||||||
|
|
||||||
func BissleArbeiten() {
|
func BissleArbeiten() {
|
||||||
|
|||||||
16
schaffer.go
16
schaffer.go
@@ -191,14 +191,6 @@ func FetchProgress(animeId int64, username string) (int, time.Time, int, string,
|
|||||||
if newProgress != -1 {
|
if newProgress != -1 {
|
||||||
return newProgress, updated, score, malApiStatusW, err
|
return newProgress, updated, score, malApiStatusW, err
|
||||||
}
|
}
|
||||||
// check on hold
|
|
||||||
newProgress, updated, score, err = FetchProgressOnState(animeId, username, malApiStatusH)
|
|
||||||
if err != nil {
|
|
||||||
return newProgress, updated, score, "", err
|
|
||||||
}
|
|
||||||
if newProgress != -1 {
|
|
||||||
return newProgress, updated, score, malApiStatusH, err
|
|
||||||
}
|
|
||||||
// check completed
|
// check completed
|
||||||
newProgress, updated, score, err = FetchProgressOnState(animeId, username, malApiStatusC)
|
newProgress, updated, score, err = FetchProgressOnState(animeId, username, malApiStatusC)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -207,6 +199,14 @@ func FetchProgress(animeId int64, username string) (int, time.Time, int, string,
|
|||||||
if newProgress != -1 {
|
if newProgress != -1 {
|
||||||
return newProgress, updated, score, malApiStatusC, err
|
return newProgress, updated, score, malApiStatusC, err
|
||||||
}
|
}
|
||||||
|
// check on hold
|
||||||
|
newProgress, updated, score, err = FetchProgressOnState(animeId, username, malApiStatusH)
|
||||||
|
if err != nil {
|
||||||
|
return newProgress, updated, score, "", err
|
||||||
|
}
|
||||||
|
if newProgress != -1 {
|
||||||
|
return newProgress, updated, score, malApiStatusH, err
|
||||||
|
}
|
||||||
// check dropped
|
// check dropped
|
||||||
newProgress, updated, score, err = FetchProgressOnState(animeId, username, malApiStatusD)
|
newProgress, updated, score, err = FetchProgressOnState(animeId, username, malApiStatusD)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user