protected override async Task <TItem> GetItemAsync(AnilistClient client, IMediaSearchResult item) { var mediaItem = await client.GetMediaAsync(item.Id); if (mediaItem == null) { return(null); } return(WrapItem(mediaItem)); }
internal static Embed BuildEmbed(IMediaSearchResult mediaSearchResult) { var media = mediaSearchResult as IMedia; return(new EmbedBuilder() { Title = media.DefaultTitle, ThumbnailUrl = media.CoverImage, Description = media.Description, Url = media.Url }.Build()); }
protected override uint Distance(IMediaSearchResult item, string searchTerm) { var itemTitle = item.EnglishTitle?.ToLowerInvariant() ?? ""; if (itemTitle.Equals(searchTerm)) { return(0); } if (itemTitle.Contains(searchTerm)) { return(1); } return(itemTitle.Levenshtein(searchTerm)); }
// =========================================================================== // = Public Methods // =========================================================================== public Boolean Download(IMediaSearchResult inSearchResult, IDownloadProgressHost inProgressHost) { if (inSearchResult is INzbMediaSearchResult) { var doc = XDocument.Load(((INzbMediaSearchResult)inSearchResult).NzbUri.OriginalString); var nzb = GrouchInternalNzb.FromXml(doc); Download(nzb, inSearchResult.Id, inProgressHost); return true; } else throw new NotImplementedException(); }
protected override async Task <TItem?> GetItemAsync(AnilistClient client, IMediaSearchResult item) { var mediaItem = await client.GetMediaAsync(item.Id); if (mediaItem == null) { return(null); } var sb = new StringBuilder(mediaItem.Description); sb.Replace("<b>", "**"); sb.Replace("</b>", "**"); sb.Replace("<i>", "_"); sb.Replace("</i>", "_"); sb.Replace("\n\n", "\n"); return(WrapItem(new MediaDescriptionReplacement(mediaItem, sb.ToString()))); }
protected override string ExtractId(IMediaSearchResult item) { return(item.Id.ToString()); }
private void QueueForDownload(IMediaSearchResult inResult) { Status.Downloads.Add(new DownloadStatus { Id = inResult.Id, Media = inResult.Item, CompletionPercentage = 0 }); _downloadQueue.Enqueue(inResult); }