public async Task <MetadataResult <Movie> > GetMetadata(MovieInfo info, CancellationToken cancellationToken) { var result = new MetadataResult <Movie>(); Media media = null; var aid = info.ProviderIds.GetOrDefault(ProviderNames.AniList); if (!string.IsNullOrEmpty(aid)) { media = await _aniListApi.GetAnime(aid); } else { var e = AnitomySharp.AnitomySharp.Parse(info.Name).Where(x => x.Category.Equals(Element.ElementCategory.ElementAnimeTitle)).First(); _log.LogInformation("Start AniList... Searching({Name})", e.Value); MediaSearchResult msr = await _aniListApi.Search_GetSeries(e.Value, cancellationToken); if (msr != null) { media = await _aniListApi.GetAnime(msr.id.ToString()); } } if (media != null) { result.HasMetadata = true; result.Item = media.ToMovie(); result.People = media.GetPeopleInfo(); result.Provider = ProviderNames.AniList; StoreImageUrl(media.id.ToString(), media.GetImageUrl(), "image"); } return(result); }
public async Task <MetadataResult <Movie> > GetMetadata(MovieInfo info, CancellationToken cancellationToken) { var result = new MetadataResult <Movie>(); Media media = null; var aid = info.ProviderIds.GetOrDefault(ProviderNames.AniList); if (!string.IsNullOrEmpty(aid)) { media = await _aniListApi.GetAnime(aid); } else { _log.LogInformation("Start AniList... Searching({Name})", info.Name); MediaSearchResult msr = await _aniListApi.Search_GetSeries(info.Name, cancellationToken); if (msr != null) { media = await _aniListApi.GetAnime(msr.id.ToString()); } } if (media != null) { result.HasMetadata = true; result.Item = media.ToMovie(); result.People = media.GetPeopleInfo(); result.Provider = ProviderNames.AniList; StoreImageUrl(media.id.ToString(), media.GetImageUrl(), "image"); } return(result); }