56 lines
1.0 KiB
Go
56 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
"strings"
|
|
|
|
"github.com/animenotifier/arn"
|
|
"github.com/fatih/color"
|
|
)
|
|
|
|
func main() {
|
|
color.Yellow("Refreshing episode information for each anime.")
|
|
|
|
highPriority := []*arn.Anime{}
|
|
lowPriority := []*arn.Anime{}
|
|
|
|
for anime := range arn.MustStreamAnime() {
|
|
if anime.GetMapping("shoboi/anime") == "" {
|
|
continue
|
|
}
|
|
|
|
if anime.Status == "current" || anime.Status == "upcoming" {
|
|
highPriority = append(highPriority, anime)
|
|
} else {
|
|
lowPriority = append(lowPriority, anime)
|
|
}
|
|
}
|
|
|
|
color.Cyan("High priority queue:")
|
|
refresh(highPriority)
|
|
|
|
color.Cyan("Low priority queue:")
|
|
refresh(lowPriority)
|
|
|
|
color.Green("Finished.")
|
|
}
|
|
|
|
func refresh(queue []*arn.Anime) {
|
|
for _, anime := range queue {
|
|
episodeCount := len(anime.Episodes)
|
|
|
|
err := anime.RefreshEpisodes()
|
|
|
|
if err != nil {
|
|
if strings.Contains(err.Error(), "missing a Shoboi ID") {
|
|
continue
|
|
}
|
|
|
|
color.Red(err.Error())
|
|
} else {
|
|
fmt.Println(anime.ID, "|", anime.Title.Canonical, "+"+strconv.Itoa(len(anime.Episodes)-episodeCount))
|
|
}
|
|
}
|
|
}
|