Starting with a fresh database
This commit is contained in:
@ -1,46 +1,46 @@
|
||||
package main
|
||||
// package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sort"
|
||||
// import (
|
||||
// "fmt"
|
||||
// "sort"
|
||||
|
||||
"github.com/animenotifier/arn"
|
||||
"github.com/fatih/color"
|
||||
)
|
||||
// "github.com/animenotifier/arn"
|
||||
// "github.com/fatih/color"
|
||||
// )
|
||||
|
||||
// AiringAnime ...
|
||||
func AiringAnime() {
|
||||
fmt.Println("Running background job: Airing Anime")
|
||||
// // AiringAnime ...
|
||||
// func AiringAnime() {
|
||||
// fmt.Println("Running background job: Airing Anime")
|
||||
|
||||
animeList, err := arn.GetAiringAnime()
|
||||
// animeList, err := arn.GetAiringAnime()
|
||||
|
||||
if err != nil {
|
||||
color.Red("Failed fetching airing anime")
|
||||
color.Red(err.Error())
|
||||
return
|
||||
}
|
||||
// if err != nil {
|
||||
// color.Red("Failed fetching airing anime")
|
||||
// color.Red(err.Error())
|
||||
// return
|
||||
// }
|
||||
|
||||
sort.Sort(arn.AnimeByPopularity(animeList))
|
||||
// sort.Sort(arn.AnimeByPopularity(animeList))
|
||||
|
||||
// Convert to small anime list
|
||||
var animeListSmall []*arn.AnimeSmall
|
||||
// // Convert to small anime list
|
||||
// var animeListSmall []*arn.AnimeSmall
|
||||
|
||||
for _, anime := range animeList {
|
||||
animeListSmall = append(animeListSmall, &arn.AnimeSmall{
|
||||
ID: anime.ID,
|
||||
Title: anime.Title,
|
||||
Image: anime.Image,
|
||||
Watching: anime.Watching,
|
||||
})
|
||||
}
|
||||
// for _, anime := range animeList {
|
||||
// animeListSmall = append(animeListSmall, &arn.AnimeSmall{
|
||||
// ID: anime.ID,
|
||||
// Title: anime.Title,
|
||||
// Image: anime.Image,
|
||||
// Watching: anime.Watching,
|
||||
// })
|
||||
// }
|
||||
|
||||
saveErr := arn.SetObject("Cache", "airingAnime", &arn.AiringAnimeCacheSmall{
|
||||
Anime: animeListSmall,
|
||||
})
|
||||
// saveErr := arn.SetObject("Cache", "airingAnime", &arn.AiringAnimeCacheSmall{
|
||||
// Anime: animeListSmall,
|
||||
// })
|
||||
|
||||
if saveErr != nil {
|
||||
color.Red("Error saving airing anime")
|
||||
color.Red(saveErr.Error())
|
||||
return
|
||||
}
|
||||
}
|
||||
// if saveErr != nil {
|
||||
// color.Red("Error saving airing anime")
|
||||
// color.Red(saveErr.Error())
|
||||
// return
|
||||
// }
|
||||
// }
|
||||
|
57
jobs/sync-anime/sync-anime.go
Normal file
57
jobs/sync-anime/sync-anime.go
Normal file
@ -0,0 +1,57 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/animenotifier/arn"
|
||||
"github.com/animenotifier/kitsu"
|
||||
"github.com/fatih/color"
|
||||
)
|
||||
|
||||
func main() {
|
||||
color.Yellow("Syncing Anime")
|
||||
|
||||
// Get a stream of all anime
|
||||
allAnime := kitsu.AllAnime()
|
||||
|
||||
// Iterate over the stream
|
||||
for anime := range allAnime {
|
||||
sync(anime)
|
||||
}
|
||||
}
|
||||
|
||||
func sync(data *kitsu.Anime) {
|
||||
anime := arn.Anime{}
|
||||
|
||||
anime.ID, _ = strconv.Atoi(data.ID)
|
||||
anime.Type = strings.ToLower(data.Attributes.ShowType)
|
||||
anime.Title.Canonical = data.Attributes.CanonicalTitle
|
||||
anime.Title.English = data.Attributes.Titles.En
|
||||
anime.Title.Japanese = data.Attributes.Titles.JaJp
|
||||
anime.Title.Romaji = data.Attributes.Titles.EnJp
|
||||
anime.Title.Synonyms = data.Attributes.AbbreviatedTitles
|
||||
anime.Image = data.Attributes.PosterImage.Original
|
||||
anime.Summary = arn.FixAnimeDescription(data.Attributes.Synopsis)
|
||||
|
||||
if data.Attributes.YoutubeVideoID != "" {
|
||||
anime.Trailers = append(anime.Trailers, &arn.AnimeTrailer{
|
||||
Service: "Youtube",
|
||||
VideoID: data.Attributes.YoutubeVideoID,
|
||||
})
|
||||
}
|
||||
|
||||
err := anime.Save()
|
||||
|
||||
status := ""
|
||||
|
||||
if err == nil {
|
||||
status = color.GreenString("✔")
|
||||
} else {
|
||||
status = color.RedString("✘")
|
||||
}
|
||||
|
||||
fmt.Println(status, anime.ID, anime.Title.Canonical)
|
||||
|
||||
}
|
Reference in New Issue
Block a user