diff --git a/anilist.go b/anilist.go index 857d017..11b3ee2 100644 --- a/anilist.go +++ b/anilist.go @@ -64,6 +64,7 @@ query ( isAdult: $isAdult ) { id + idMal title { romaji english @@ -78,6 +79,7 @@ type AnilistPageInfo struct { } type AnilistMediaItem struct { Id int `json:"id"` + IdMal int `json:"idMal"` Title AnilistTitle `json:"title"` } type AnilistTitle struct { @@ -138,7 +140,7 @@ func getAnilistAnimeSearch(idMap *ConcurrentMap, permaSkipAnilistIds []string, r // map the data for _, item := range result.Data.Page.Media { - if idMap.GetByAnilistId(item.Id) == 0 { + if idMap.GetByMalId(item.IdMal) == 0 { log.Printf("Anilist ID %d (%s) has no associated TVDB ID, skipping...\n", item.Id, FullAnimeTitle(item.Title.Romaji, item.Title.English)) continue } @@ -158,9 +160,9 @@ func getAnilistAnimeSearch(idMap *ConcurrentMap, permaSkipAnilistIds []string, r ResponseItem{ item.Title.Romaji, item.Title.English, - 0, + item.IdMal, item.Id, - idMap.GetByAnilistId(item.Id), + idMap.GetByMalId(item.IdMal), }) usedIds[item.Id] = true } diff --git a/main.go b/main.go index 0e93361..21cdee1 100644 --- a/main.go +++ b/main.go @@ -26,9 +26,8 @@ type AnimeEntry struct { AnilistId int `json:"anilist_id"` } type ConcurrentMap struct { - mal map[int]int - anilist map[int]int - mut sync.RWMutex + mal map[int]int + mut sync.RWMutex } func (m *ConcurrentMap) GetByMalId(i int) int { @@ -36,11 +35,6 @@ func (m *ConcurrentMap) GetByMalId(i int) int { defer m.mut.RUnlock() return m.mal[i] } -func (m *ConcurrentMap) GetByAnilistId(i int) int { - m.mut.RLock() - defer m.mut.RUnlock() - return m.anilist[i] -} var lastBuiltAnimeIdList time.Time @@ -87,7 +81,6 @@ func buildIdMap(idMap *ConcurrentMap) { log.Fatal("Error unmarshalling anime_ids.json: ", err) } idMap.mal = make(map[int]int, 0) - idMap.anilist = make(map[int]int, 0) for _, entry := range animeMap { if entry.MalId == nil { continue @@ -112,7 +105,6 @@ func buildIdMap(idMap *ConcurrentMap) { if entry.AnilistId == 0 { continue } - idMap.anilist[entry.AnilistId] = entry.TvdbId } lastBuiltAnimeIdList = time.Now() }