Esempio n. 1
0
        public new async Task <TorrentSearchResult> SearchAsync(string query)
        {
            await Task.Delay(0);

            // https://www.magnetdl.com/t/the-bad-batch-s01e09/

            var queryFirstLetter = query.Trim().ToLower().First();
            var queryAsKebabCase = query.Trim().ToLower().Replace(' ', '-').Replace("'", string.Empty);
            var searchUrl        = $"https://www.magnetdl.com/{queryFirstLetter}/{queryAsKebabCase}/";

            var torrentSearchResult = new TorrentSearchResult
            {
                Response = HttpCfscrapeService.GetFromPythonCommandLine(searchUrl)
            };

            if (!torrentSearchResult.Response.IsSuccessStatusCode)
            {
                torrentSearchResult.Succeeded = false;
                return(torrentSearchResult);
            }

            if (string.IsNullOrWhiteSpace(torrentSearchResult.Response.Html))
            {
                torrentSearchResult.Succeeded = false;
                return(torrentSearchResult);
            }

            torrentSearchResult.Items     = ParseTorrentSearchResult(torrentSearchResult.Response.Html);
            torrentSearchResult.Succeeded = true;

            return(torrentSearchResult);
        }
        public async Task <TorrentSearchResult> SearchAsync(string query)
        {
            var urlEndpoint = string.Format(SearchEndpointFormat, HttpUtility.UrlEncode(query.ToLower()));
            var result      = new TorrentSearchResult
            {
                Response = new HttpResponseLite
                {
                    Html = await DoGet(urlEndpoint)
                }
            };

            if (result.Response.Html == null)
            {
                result.Succeeded = false;
                return(result);
            }

            result.Succeeded = true;
            result.Items     = ParseTorrentSearchResult(result.Response.Html);
            return(result);
        }