package main import ( "path/filepath" "strings" "git.milar.in/milarin/anilist" "git.milar.in/nyaanime/model" ) type AnimePathPatternData struct { Title anilist.MediaTitle Episode int Ext string } func GetAnimeEpFilepath(animeEp model.AnimeEpisode, ext string) string { tmplData := AnimePathPatternData{ Title: animeEp.Anime.Title, Episode: animeEp.Episode, Ext: ext, } b := new(strings.Builder) if err := AnimeEpFilepathPattern.Execute(b, tmplData); err != nil { panic(err) } return b.String() } func AnimeEpExistsLocally(animeEp model.AnimeEpisode) bool { animeEpPath := filepath.Join(AnimePath, GetAnimeEpFilepath(animeEp, "*")) files, err := filepath.Glob(animeEpPath) if err != nil { panic(err) } return len(files) > 0 }