Esempio n. 1
0
        private static async Task DigestCatalogItem(CatalogItem item)
        {
            item.Poster  = LocalScraper.GetOrAddItemPoster(item, item.Poster);
            item.Banner  = LocalScraper.GetOrAddItemBanner(item, item.Banner);
            item.Preview = LocalScraper.GetOrAddItemBanner(item, item.Preview);
            var local = await AppContext.LocalScraper.GetAsync(item.GroupName, item.KindName, item.Name);

            if (local != null)
            {
                item.Watching = local.Watching;
            }
        }
Esempio n. 2
0
        private async Task <CatalogItem> ParseListItem(string content)
        {
            if (string.IsNullOrEmpty(content))
            {
                return(null);
            }
            var item = new CatalogItem {
                ScrapedBy = Name
            };

            var url = content.Between("<a href=\"", "\"").Replace("/ver/", "/anime/");


            item.Group   = EntryGroup.Anime;
            item.Banner  = ConcatToBaseUrl(content.Between("<img src=\"", "\""));
            item.Preview = item.Banner;
            item.Kind    = GetItemType(content);
            item.Name    = content.Between("Title\">", "<");
            item.Poster  = LocalScraper.GetItemPoster(item, item.Banner);

            FillCustomProperties(item, content);

            var start = "/anime/".Length;

            if (ItemHasEpisodes(item) && item.Kind == EntryType.TvShow)
            {
                item.Url = ConcatToBaseUrl(url.Substring(0, url.LastIndexOf('-')));

                var end = url.LastIndexOf('-');
                item.Id = url.Substring(start, end - start);
            }
            else
            {
                item.Url = ConcatToBaseUrl(url);
                item.Id  = url.Substring(start);
            }

            await DigestCatalogItem(item);

            return(item);
        }