From: Diogo Franco (Kovensky) Date: Tue, 16 Jul 2013 16:50:18 +0000 (-0300) Subject: anidb: Simplify (*AniDB).EpisodeByID() X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=807e526f05812e622b33c4bddf1300e4fac02ea9;p=go-anidb.git anidb: Simplify (*AniDB).EpisodeByID() Use (*Anime).EpisodeByEID() to search for the requested episode. --- diff --git a/episodecache.go b/episodecache.go index 3c3a91e..cd2e4aa 100644 --- a/episodecache.go +++ b/episodecache.go @@ -108,32 +108,16 @@ func (adb *AniDB) EpisodeByID(eid EID) <-chan *Episode { } udpDone = true } - a := <-adb.AnimeByID(AID(aid)) // this caches episodes... - ep := eid.Episode() // ...so this is now a cache hit + a := <-adb.AnimeByID(AID(aid)) // updates the episode cache as well + ep := a.EpisodeByEID(eid) - if !ep.IsStale() { + if ep != nil { e = ep break } else { - // check to see if we looked in the right AID - found := false - if a != nil { - for _, ep := range a.Episodes { - if eid == ep.EID { - found = true - break - } - } - } - - // if found, then it's just that the anime is also stale (offline?) - if found { - break - } else { - // otherwise, the EID<->AID map broke - ok = false - cache.Delete("aid", "by-eid", eid) - } + // the EID<->AID map broke + ok = false + cache.Delete("aid", "by-eid", eid) } } intentMap.NotifyClose(e, keys...)