package anidb
import (
- "github.com/Kovensky/go-anidb/misc"
+ "fmt"
+ "github.com/EliasFleckenstein03/go-anidb/misc"
"strconv"
"time"
)
AID AID // The Anime ID.
R18 bool // Whether this anime is considered porn.
- Type AnimeType // Production/distribution type.
- TotalEpisodes int // Total number of regular episodes.
- EpisodeCount EpisodeCount // Known numbers of the various types of episodes.
+ Type AnimeType // Production/distribution type.
+ TotalEpisodes int // Total number of regular episodes.
+ EpisodeCount misc.EpisodeCount // Known numbers of the various types of episodes.
StartDate time.Time // Date of first episode release, if available.
EndDate time.Time // Date of last episode release, if available.
TemporaryVotes Rating // Votes from people who are still watching this.
Reviews Rating // Votes from reviewers.
- Episodes Episodes // List of episodes.
+ Episodes []*Episode // List of episodes.
Awards []string
Resources Resources
Cached time.Time // When the data was retrieved from the server.
}
-type EpisodeCount struct {
- RegularCount int
- SpecialCount int
- CreditsCount int
- OtherCount int
- TrailerCount int
- ParodyCount int
-}
-
// Convenience method that runs AnimeByID on the result of
// SearchAnime.
func (adb *AniDB) AnimeByName(name string) <-chan *Anime {
case 1:
return list[0]
default:
- panic("Single episode search returned more than one result")
+ panic(fmt.Sprintf("Single episode search returned more than one result (wanted %v, got %v)", ep, list))
}
}
func (a *Anime) EpisodeByNumber(number int) *Episode {
return a.EpisodeByString(strconv.Itoa(number))
}
+
+func (a *Anime) EpisodeByEID(eid EID) *Episode {
+ if a == nil {
+ return nil
+ }
+ for _, ep := range a.Episodes {
+ if ep.EID == eid {
+ return ep
+ }
+ }
+ return nil
+}