public NHentaiTests() { source = new CancellationTokenSource(); logger = new Mock <ILogger>().Object; downloader = new HttpDownloader(new FilenameDetector(new GoogleProxyFilenameDetector())); service = new NHentai(logger, downloader, new XPathSelector(), new Retry()); }
private async Task <List <object> > SelectSiteAsync(HentaiModel hentai) { switch (hentai.Site) { case "Hentai.cafe": { var(paths, count) = await HentaiCafe.CollectImagesTaskAsync(hentai, SetPages); Pages = $"{paths.Count} : {count}"; return(paths); } case "nHentai.net": { var(paths, count) = await NHentai.CollectImagesTaskAsync(hentai, SetPages); Pages = $"{paths.Count} : {count}"; return(paths); } case "ExHentai.org": { var(paths, count) = await ExHentai.CollectImagesTaskAsync(hentai, SetPages); Pages = $"{paths.Count} : {count}"; return(paths); } case "Pururin.us": { var(paths, count) = await Pururin.CollectImagesTaskAsync(hentai, SetPages); Pages = $"{paths.Count} : {count}"; return(paths); } case "Imgur.com": { var(paths, count) = await Sites.Imgur.CollectImagesTaskAsync(hentai, SetPages); Pages = $"{paths.Count} : {count}"; return(paths); } default: return(null); } }
private async Task LoadnHentaiPageAsync(int value, bool delete = true) { SettingsController.Save(); if (NHentaiPageLoading) { return; } NHentaiPageLoading = true; NextnHentaiPage = NextnHentaiPage + value; NHentaiLoadedPage = NHentaiLoadedPage + value; if (_nHentai.Count > 0 && delete) { _nHentai.Clear(); } NHentaiView.Instance.ScrollViewer.ScrollToTop(); var searchquery = SettingsController.Settings.nHentai.SearchQuery; List <HentaiModel> i; if (string.IsNullOrEmpty(searchquery)) { i = await NHentai.GetLatestAsync($"https://nhentai.net/?page={NHentaiLoadedPage}"); } else { i = await NHentai.GetLatestAsync( $"https://nhentai.net/search/?q={searchquery.Replace(" ", "+")}&sort={SortItems[SelectedSort].ToLower()}&page={NHentaiLoadedPage}"); } foreach (var hentaiModel in i) { if (FavoritesController.FavoriteMd5s.Contains(hentaiModel.Md5)) { hentaiModel.Favorite = true; } _nHentai.Add(hentaiModel); await Task.Delay(10); } NHentaiPageLoading = false; }