private string GetPopularTagString(PopularType type)
        {
            var      end = DateTime.Now.Date;
            DateTime start;

            switch (type)
            {
            case PopularType.Day:
                start = end.AddDays(-1);
                break;

            case PopularType.Week:
                start = end.AddDays(-7);
                break;

            case PopularType.Month:
                start = end.AddMonths(-1);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }

            var dateFromat = "yyyy-MM-dd";

            return($"date:{start.ToString(dateFromat)}..{end.ToString(dateFromat)} order:quality");
        }
Exemple #2
0
        private string GetPopularString(PopularType type)
        {
            string scale;

            switch (type)
            {
            case PopularType.Day:
                scale = "day";
                break;

            case PopularType.Week:
                scale = "week";
                break;

            case PopularType.Month:
                scale = "month";
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }

            return(WebUtility.UrlEncode($"{DateTimeOffset.Now.ToUniversalTime():yyyy-MM-ddTHH:mm:ss.fffzzz}")
                   + $"&scale={scale}");
        }
Exemple #3
0
        public async Task <SearchResult> LoadPopularAsync(PopularType type)
        {
            var popularString = GetPopularString(type);
            var pageHtml      = await _booruLoader.LoadPageAsync(POPULAR_JSON + popularString);

            var results = JsonConvert.DeserializeObject <List <Model.Danbooru.Json.Post> >(pageHtml);

            var searchResult = new DanbooruSearchResult(results);

            return(searchResult);
        }
Exemple #4
0
        public async Task <SearchResult> LoadPopularAsync(PopularType type)
        {
            var param = GetPopularTypeParam(type);

            var pageHtml = await _booruLoader.LoadPageAsync(POPULAR_JSON + param);

            var results = JsonConvert.DeserializeObject <List <Model.Yandere.Json.Post> >(pageHtml);

            var searchResult = new YandereSearchResult(results);

            return(searchResult);
        }
Exemple #5
0
        private string GetPopularTypeParam(PopularType type)
        {
            switch (type)
            {
            case PopularType.Day:
                return("1d");

            case PopularType.Week:
                return("1w");

            case PopularType.Month:
                return("1m");

            default:
                throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }
        }
        public Task <SearchResult> LoadPopularAsync(PopularType type)
        {
            var popularTagString = GetPopularTagString(type);

            return(LoadSearchResultAsync(popularTagString));
        }