Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        // ===========================================================================
        // = 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();
        }
Ejemplo n.º 5
0
        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())));
        }
Ejemplo n.º 6
0
 protected override string ExtractId(IMediaSearchResult item)
 {
     return(item.Id.ToString());
 }
Ejemplo n.º 7
0
        private void QueueForDownload(IMediaSearchResult inResult)
        {
            Status.Downloads.Add(new DownloadStatus
            {
                Id = inResult.Id,
                Media = inResult.Item,
                CompletionPercentage = 0
            });

            _downloadQueue.Enqueue(inResult);
        }