public Models.User Parse()
 {
     return(new Models.User
     {
         Avatar = Regex.Replace(User.ProfileImageUrls.Medium, "_170\\.", "_50."),
         Id = User.Id.ToString(),
         Name = User.Name,
         Thumbnails = Illusts.Select(i => i.ImageUrls.SquareMedium).ToArray()
     });
 }
Example #2
0
        private async Task FetchIllusts()
        {
            var illusts = await _queryCacheService.RunAsync(_pixivClient.User.BrowsingHistory.IllustAsync, offset => _offset);

            illusts?.IllustList.ForEach(w => Illusts.Add(w));
            if (string.IsNullOrWhiteSpace(illusts?.NextUrl))
            {
                HasMoreItems = false;
            }
            else
            {
                _offset = UrlParameter.ParseQuery(illusts.NextUrl)["offset"];
            }
        }
Example #3
0
        private async Task FetchIllusts()
        {
            var illusts = await _queryCacheService.RunAsync(_pixivClient.IllustV1.RankingAsync,
                                                            mode => _rankingMode.ToParamString(_rankingType),
                                                            filter => "for_ios",
                                                            offset => _offset);

            illusts?.IllustList.ForEach(w => Illusts.Add(w));
            if (string.IsNullOrWhiteSpace(illusts?.NextUrl))
            {
                HasMoreItems = false;
            }
            else
            {
                _offset = UrlParameter.ParseQuery(illusts.NextUrl)["offset"];
            }
        }
Example #4
0
        private async Task FetchIllusts(string contentType)
        {
            var illusts = await _queryCacheService.RunAsync(_pixivClient.User.IllustsAsync,
                                                            user_id => _id,
                                                            filter => "for_ios",
                                                            type => contentType,
                                                            offset => _offset);

            illusts?.IllustList.ForEach(w => Illusts.Add(w));
            if (string.IsNullOrWhiteSpace(illusts?.NextUrl))
            {
                HasMoreItems = false;
            }
            else
            {
                _offset = UrlParameter.ParseQuery(illusts.NextUrl)["offset"];
            }
        }
Example #5
0
        public void EnqueueToDownload(string keyword, Illusts illusts)
        {
            var filename = $"{illusts.id}.{Path.GetExtension(illusts.image_urls.large)}";

            if (_configuration.GetValue <bool>("EnableRatioFilter")
                &&
                (FilterRule.RatioH(illusts) || FilterRule.RatioH(illusts)) == false)
            {
                return;
            }

            if (EnqueuedFileNames.Add(filename) == false)
            {
                return;
            }

            var imageUrl = !string.IsNullOrWhiteSpace(illusts.meta_single_page.original_image_url) ? illusts.meta_single_page.original_image_url : illusts.image_urls.large;

            BackgroundJob.Enqueue(() => Download(keyword, imageUrl, filename));
        }
 public static bool IllustType(Illusts illusts) => "Illust".Equals(illusts.type, StringComparison.OrdinalIgnoreCase);
 public static bool Bookmark2(Illusts illusts) => illusts.total_bookmarks >= 2000;
 public static bool RatioV(Illusts illusts) => Math.Abs(illusts.height / illusts.width - 16 / 9) < 1 && illusts.height > 1920;
 public static bool RatioH(Illusts illusts) => Math.Abs(illusts.height / illusts.width - 9 / 16) < 1 && illusts.width > 1920;