Esempio n. 1
0
        public virtual NetImportPageableRequestChain GetMovies()
        {
            var pageableRequests = new NetImportPageableRequestChain();

            var baseUrl = $"{Settings.APIURL.TrimEnd("/")}";

            var request = new NetImportRequest($"{baseUrl}{Settings.Path}", HttpAccept.Json);

            request.HttpRequest.SuppressHttpError = true;

            pageableRequests.Add(new List <NetImportRequest> {
                request
            });
            return(pageableRequests);
        }
        private IEnumerable <NetImportRequest> GetMovies(string searchParameters)
        {
            var request = new NetImportRequest($"{Settings.Link.Trim()}", HttpAccept.Json);

            yield return(request);
        }
Esempio n. 3
0
        private IEnumerable <NetImportRequest> GetMovies(string searchParameters)
        {
            var link = Settings.Link.Trim();

            var filtersAndLimit = $"?years={Settings.Years}&genres={Settings.Genres.ToLower()}&ratings={Settings.Rating}&certifications={Settings.Ceritification.ToLower()}&limit={Settings.Limit}{Settings.TraktAdditionalParameters}";

            switch (Settings.ListType)
            {
            case (int)TraktListType.UserCustomList:
                var listName = Parser.Parser.ToUrlSlug(Settings.Listname.Trim());
                link = link + $"/users/{Settings.Username.Trim()}/lists/{listName}/items/movies?limit={Settings.Limit}";
                break;

            case (int)TraktListType.UserWatchList:
                link = link + $"/users/{Settings.Username.Trim()}/watchlist/movies?limit={Settings.Limit}";
                break;

            case (int)TraktListType.UserWatchedList:
                link = link + $"/users/{Settings.Username.Trim()}/watched/movies?limit={Settings.Limit}";
                break;

            case (int)TraktListType.Trending:
                link = link + "/movies/trending" + filtersAndLimit;
                break;

            case (int)TraktListType.Popular:
                link = link + "/movies/popular" + filtersAndLimit;
                break;

            case (int)TraktListType.Anticipated:
                link = link + "/movies/anticipated" + filtersAndLimit;
                break;

            case (int)TraktListType.BoxOffice:
                link = link + "/movies/boxoffice" + filtersAndLimit;
                break;

            case (int)TraktListType.TopWatchedByWeek:
                link = link + "/movies/watched/weekly" + filtersAndLimit;
                break;

            case (int)TraktListType.TopWatchedByMonth:
                link = link + "/movies/watched/monthly" + filtersAndLimit;
                break;

            case (int)TraktListType.TopWatchedByYear:
                link = link + "/movies/watched/yearly" + filtersAndLimit;
                break;

            case (int)TraktListType.TopWatchedByAllTime:
                link = link + "/movies/watched/all" + filtersAndLimit;
                break;
            }

            Authenticate();

            var request = new NetImportRequest($"{link}", HttpAccept.Json);

            request.HttpRequest.Headers.Add("trakt-api-version", "2");
            request.HttpRequest.Headers.Add("trakt-api-key", "964f67b126ade0112c4ae1f0aea3a8fb03190f71117bd83af6a0560a99bc52e6"); //aeon
            if (_configService.TraktAuthToken.IsNotNullOrWhiteSpace())
            {
                request.HttpRequest.Headers.Add("Authorization", "Bearer " + _configService.TraktAuthToken);
            }

            yield return(request);
        }