mirror of
https://github.com/gabehf/sonarr-anime-importer.git
synced 2026-03-08 23:18:14 -07:00
use AniList's MAL ID mapping instead of Kometa
This commit is contained in:
parent
cdd7b67003
commit
e96577b5bc
2 changed files with 7 additions and 13 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
12
main.go
12
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()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue