Example #1
0
        public async Task <SearchResult> SearchAsync(string searchText, int page, SearchSortByType sort, SortOrderType order)
        {
            var web = new HtmlWeb();

            var searchUrl = GetSearchUrl(searchText, page, sort, order);
            var document  = await web.LoadFromWebAsync(searchUrl).ConfigureAwait(false);

            return(_searchTransformer.Transform(document, page));
        }
Example #2
0
        private static string GetSortFilterUrlPart(SearchSortByType sortByType, SortOrderType orderByType)
        {
            var sorts = new Dictionary <SearchSortByType, string>
            {
                { SearchSortByType.Leechers, "leechers" },
                { SearchSortByType.Seeders, "seeders" },
                { SearchSortByType.Time, "time" },
                { SearchSortByType.Size, "size" },
            };

            var orders = new Dictionary <SortOrderType, string>
            {
                { SortOrderType.Ascending, "asc" },
                { SortOrderType.Descending, "desc" },
            };

            var sort  = sorts[sortByType];
            var order = orders[orderByType];

            return($"{sort}/{order}");
        }
Example #3
0
        private static string GetSearchUrl(string searchText, int page, SearchSortByType sortByType, SortOrderType orderByType)
        {
            var encodedSearchText = Uri.EscapeDataString(searchText);

            return($"{Configuration.BaseUrl}/sort-search/{encodedSearchText}/{GetSortFilterUrlPart(sortByType, orderByType)}/{page}/");
        }
Example #4
0
 public Task <SearchResult> Get(string text, int page = 1, SearchSortByType sort = SearchSortByType.Seeders, SortOrderType order = SortOrderType.Descending)
 {
     return(_searchProvider.SearchAsync(text, page, sort, order));
 }