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"); }
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}"); }
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); }
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); }
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)); }