Example #1
0
        public InternetArchiveChannel GetChannel(
            string channelName)
        {
            channelName.IsNotNull(nameof(channelName));

            var _requestBuilder = new DomainFragment("https://archive.org");

            var url = _requestBuilder
                      .Builder
                      .WithPath("details")
                      .WithPath($"@{channelName}")
                      .Build();

            var context = BrowsingContext.New(
                Configuration.Default.WithDefaultLoader());

            using (var document = context
                                  .OpenAsync(url)
                                  .GetAwaiter()
                                  .GetResult())
            {
                var s = document.QuerySelector(
                    "html > body > #wrap > #naWrap > #naWrap > div > ul > li > #user-menu > .img.avatar");

                return(new InternetArchiveChannel(
                           "",
                           ""));
            }

            //using (var httpClient = new HttpClientWrapper())
            //{
            //	var response = httpClient
            //		.GetContentAsync(url)
            //		.GetAwaiter()
            //		.GetResult();

            //	var formattedResponse = response;
            //	if (formattedResponse.StartsWith("callback("))
            //	{
            //		formattedResponse = formattedResponse
            //			.Substring("callback(".Length)
            //			.TrimEnd(')');
            //	}

            //	var archiveResponse = JsonConvert
            //		.DeserializeObject<RootObject>(
            //			formattedResponse);

            //	var archiveAlbums = archiveResponse
            //		.Response
            //		.Docs
            //		.Select(
            //			ArchiveAlbumInterpreter.CreateArchiveAlbum);

            //	return archiveAlbums;
            //}
        }
 public string BuildRequestUrl(
     DomainFragment requestBuilder)
 {
     return(requestBuilder
            .Builder
            .WithPath("vbulletin")
            .WithPath("archive")
            .WithPath("index.php")
            .WithPath("f-61.html")
            .Build());
 }
 public string BuildRequestUrl(DomainFragment requestBuilder)
 {
     throw new NotImplementedException();
 }
        public string BuilldRequestUrl(
            DomainFragment requestBuilder)
        {
            var uriBuilder = requestBuilder
                             .Builder
                             .WithPath("advancedsearch.php");

            void _setQueryString(
                string uploader,
                string subject)
            {
                var sb = new StringBuilder();

                if (uploader != null)
                {
                    sb.Append($"uploader:{uploader}");

                    if (subject != null)
                    {
                        sb.Append($" AND ");
                        sb.Append($"subject:({subject})");
                    }
                }
                else
                {
                    if (subject != null)
                    {
                        sb.Append($"subject:({subject})");
                    }
                }

                uriBuilder
                .WithParameter(
                    "q",
                    sb.ToString());
            }

            _setQueryString(
                _uploader,
                _subject);

            if (_fields != null)
            {
                foreach (var field in _fields)
                {
                    uriBuilder.WithParameter("fl[]", field.ToString().ToLower());
                }
            }

            if (_sortDirection.HasValue && _sortField.HasValue)
            {
                var sb = new StringBuilder();

                sb.Append(_sortField.ToString().ToLower());
                sb.Append("Sorter ");

                switch (_sortDirection)
                {
                case SortDirection.Ascending:
                    sb.Append("asc");
                    break;

                case SortDirection.Descending:
                    sb.Append("desc");
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                uriBuilder.WithParameter("sort[]", sb.ToString());
            }

            if (_rowCount.HasValue)
            {
                uriBuilder.WithParameter("rows", _rowCount.ToString());
            }

            if (_onPageNumber.HasValue)
            {
                uriBuilder.WithParameter("page", _onPageNumber.ToString());
            }

            if (_dataOutputKind.HasValue)
            {
                uriBuilder.WithParameter("output", _dataOutputKind.ToString().ToLower());
            }

            if (_callback != null)
            {
                uriBuilder.WithParameter("callback", _callback);
            }

            if (_shouldSave.HasValue)
            {
                uriBuilder.WithParameter("save", _shouldSave.Value ? "yes" : "no");
            }

            return(uriBuilder.Build());
        }
Example #5
0
        public string BuildRequestUrl(
            DomainFragment requestBuilder)
        {
            var uriBuilder = requestBuilder
                             .Builder
                             .WithPath("search/");

            if (_searchRankField.HasValue)
            {
                var sb = new StringBuilder();

                sb.Append("ref=");
                sb.Append("sr_sort_");
                sb.Append(_searchRankField.ToString().ToLower());

                uriBuilder
                .WithPath(
                    sb.ToString());
            }

            if (_author != null)
            {
                uriBuilder.WithParameter("searchAuthor", _author);
            }

            if (_sortDirection.HasValue && _sortField.HasValue)
            {
                var sb = new StringBuilder();

                sb.Append(_sortField.ToString().ToLower());
                sb.Append("Sorter ");

                switch (_sortDirection)
                {
                case SortDirection.Ascending:
                    sb.Append("asc");
                    break;

                case SortDirection.Descending:
                    sb.Append("desc");
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                uriBuilder.WithParameter("sort[]", sb.ToString());
            }

            if (_searchRankField.HasValue)
            {
                uriBuilder.WithParameter("searchRank", _searchRankField.ToString().ToLower());
            }

            if (_fieldLanguage.HasValue)
            {
                uriBuilder.WithParameter("field_language", ((long)_fieldLanguage).ToString().ToLower());
            }

            if (_searchSize.HasValue)
            {
                uriBuilder.WithParameter("searchSize", _searchSize.ToString());
            }

            if (_pageNumber.HasValue)
            {
                uriBuilder.WithParameter("page", _pageNumber.ToString());
            }


            if (_searchRankSelectField.HasValue && _searchRankSelectDirection.HasValue)
            {
                var sb = new StringBuilder();

                switch (_sortDirection)
                {
                case SortDirection.Ascending:
                    sb.Append("+");
                    break;

                case SortDirection.Descending:
                    sb.Append("-");
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                sb.Append(_searchRankSelectField.ToString().ToLower());

                uriBuilder.WithParameter("searchRankSelect", sb.ToString());
            }

            return(uriBuilder.Build());
        }