mirror of
https://github.com/gabehf/sonarr-anime-importer.git
synced 2026-03-17 19:26:26 -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
|
isAdult: $isAdult
|
||||||
) {
|
) {
|
||||||
id
|
id
|
||||||
|
idMal
|
||||||
title {
|
title {
|
||||||
romaji
|
romaji
|
||||||
english
|
english
|
||||||
|
|
@ -78,6 +79,7 @@ type AnilistPageInfo struct {
|
||||||
}
|
}
|
||||||
type AnilistMediaItem struct {
|
type AnilistMediaItem struct {
|
||||||
Id int `json:"id"`
|
Id int `json:"id"`
|
||||||
|
IdMal int `json:"idMal"`
|
||||||
Title AnilistTitle `json:"title"`
|
Title AnilistTitle `json:"title"`
|
||||||
}
|
}
|
||||||
type AnilistTitle struct {
|
type AnilistTitle struct {
|
||||||
|
|
@ -138,7 +140,7 @@ func getAnilistAnimeSearch(idMap *ConcurrentMap, permaSkipAnilistIds []string, r
|
||||||
|
|
||||||
// map the data
|
// map the data
|
||||||
for _, item := range result.Data.Page.Media {
|
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))
|
log.Printf("Anilist ID %d (%s) has no associated TVDB ID, skipping...\n", item.Id, FullAnimeTitle(item.Title.Romaji, item.Title.English))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
@ -158,9 +160,9 @@ func getAnilistAnimeSearch(idMap *ConcurrentMap, permaSkipAnilistIds []string, r
|
||||||
ResponseItem{
|
ResponseItem{
|
||||||
item.Title.Romaji,
|
item.Title.Romaji,
|
||||||
item.Title.English,
|
item.Title.English,
|
||||||
0,
|
item.IdMal,
|
||||||
item.Id,
|
item.Id,
|
||||||
idMap.GetByAnilistId(item.Id),
|
idMap.GetByMalId(item.IdMal),
|
||||||
})
|
})
|
||||||
usedIds[item.Id] = true
|
usedIds[item.Id] = true
|
||||||
}
|
}
|
||||||
|
|
|
||||||
12
main.go
12
main.go
|
|
@ -26,9 +26,8 @@ type AnimeEntry struct {
|
||||||
AnilistId int `json:"anilist_id"`
|
AnilistId int `json:"anilist_id"`
|
||||||
}
|
}
|
||||||
type ConcurrentMap struct {
|
type ConcurrentMap struct {
|
||||||
mal map[int]int
|
mal map[int]int
|
||||||
anilist map[int]int
|
mut sync.RWMutex
|
||||||
mut sync.RWMutex
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ConcurrentMap) GetByMalId(i int) int {
|
func (m *ConcurrentMap) GetByMalId(i int) int {
|
||||||
|
|
@ -36,11 +35,6 @@ func (m *ConcurrentMap) GetByMalId(i int) int {
|
||||||
defer m.mut.RUnlock()
|
defer m.mut.RUnlock()
|
||||||
return m.mal[i]
|
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
|
var lastBuiltAnimeIdList time.Time
|
||||||
|
|
||||||
|
|
@ -87,7 +81,6 @@ func buildIdMap(idMap *ConcurrentMap) {
|
||||||
log.Fatal("Error unmarshalling anime_ids.json: ", err)
|
log.Fatal("Error unmarshalling anime_ids.json: ", err)
|
||||||
}
|
}
|
||||||
idMap.mal = make(map[int]int, 0)
|
idMap.mal = make(map[int]int, 0)
|
||||||
idMap.anilist = make(map[int]int, 0)
|
|
||||||
for _, entry := range animeMap {
|
for _, entry := range animeMap {
|
||||||
if entry.MalId == nil {
|
if entry.MalId == nil {
|
||||||
continue
|
continue
|
||||||
|
|
@ -112,7 +105,6 @@ func buildIdMap(idMap *ConcurrentMap) {
|
||||||
if entry.AnilistId == 0 {
|
if entry.AnilistId == 0 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
idMap.anilist[entry.AnilistId] = entry.TvdbId
|
|
||||||
}
|
}
|
||||||
lastBuiltAnimeIdList = time.Now()
|
lastBuiltAnimeIdList = time.Now()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue