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); }
/// <summary> /// Search for anime with the given title. Attempts to fuzzy search by removing special characters /// </summary> /// <param name="title"></param> /// <returns></returns> public async Task <string> FindSeries(string title, CancellationToken cancellationToken) { MediaSearchResult result = await Search_GetSeries(title, cancellationToken); if (result != null) { return(result.id.ToString()); } result = await Search_GetSeries(await Equals_check.Clear_name(title, cancellationToken), cancellationToken); if (result != null) { return(result.id.ToString()); } return(null); }