private List <Mix> GetMixes(MixFilter mixFilter, MixesViewType viewType, int pageNumber, string userSlug)
        {
            MixesRequest  mixesRequest  = requestFactory.CreateMixesRequest(mixFilter, viewType, pageNumber, userSlug);
            MixesResponse mixesResponse = requestExecutor.ExecuteMixesRequest(mixesRequest);

            sessionData.Update(mixesRequest, mixesResponse);

            return(ExtractMixes(mixesResponse));
        }
        public void SetUp()
        {
            origSched = RxApp.DeferredScheduler;
            RxApp.DeferredScheduler = new TestScheduler();

            requestExecutor     = new RequestExecutorStub();
            mediaLibraryBrowser = new MediaLibraryBrowser(requestExecutor);
            mix       = new Mix(new MixElement(), 0);
            mixFilter = new MixFilter();
        }
Example #3
0
        private MixFilter CreateMixFilter(string filterText)
        {
            MixFilter mixFilter = new MixFilter();

            while (true)
            {
                string[] result = StringUtils.GetStringInBetween("[", "]", filterText, false, false);
                if (result[0].Length == 0)
                {
                    break;
                }
                mixFilter.Tags.Add(result[0]);
                filterText = filterText.Replace("[" + result[0] + "]", " ");
            }
            mixFilter.Query = filterText.Replace("  ", " ").Trim();
            return(mixFilter);
        }
Example #4
0
        public void ResetFields()
        {
            request   = null;
            origSched = RxApp.DeferredScheduler;
            RxApp.DeferredScheduler = new TestScheduler();
            mixFilter = new MixFilter();

            requestFactory = new RequestFactory(apiKey: apiKeyValue);

            mixId      = 500;
            mixSetId   = 150000;
            playToken  = "1234509876";
            userToken  = "abcdefg";
            viewType   = MixesViewType.Feed;
            pageNumber = 1;
            requestFactory.PageSize = 20;
        }
Example #5
0
        public MixesRequest(string host, string apiKey, string userToken, MixesViewType view, string userSlug,
                            int pageNumber, int pageSize, MixFilter mixFilter)
            : base(host, apiKey, pageNumber, pageSize)
        {
            this.userToken = userToken;
            this.viewType  = view;
            this.userSlug  = userSlug;
            this.mixFilter = mixFilter;

            if (view == MixesViewType.Feed || view == MixesViewType.Liked)
            {
                Url = String.Format("{0}users/{1}/mixes.xml?api_key={2}&user_token={3}&view={4}", BaseUri, userSlug,
                                    ApiKey, userToken, view.ToString().ToLower());
            }
            else if (view == MixesViewType.Listened || view == MixesViewType.Recommended)
            {
                Url = String.Format("{0}mix_sets/{1}.xml?include=mixes&api_key={2}&user_token={3}", BaseUri, view.ToString().ToLower(),
                                    ApiKey, userToken);
            }
            else
            {
                Url = String.Format("{0}mixes.xml?api_key={1}&sort={2}", BaseUri, ApiKey, view.ToString().ToLower());
                if (userToken.Length > 0)
                {
                    Url += "&user_token=" + userToken;
                }
            }

            Url += "&per_page=" + pageSize;
            Url += "&page=" + pageNumber;

            if (mixFilter.Tags.Count > 0)
            {
                string tags = StringUtils.TagListToString(mixFilter.Tags, "%2B");
                Url += "&tags=" + tags;
            }
            if (mixFilter.Query.Length > 0)
            {
                Url += "&q=" + mixFilter.Query;
            }
        }
Example #6
0
        private void SetBrowserMessage()
        {
            MixBrowsingMessage = String.Format("Displaying {0} of {1} mixes", BrowsedMixes.Count, MixesViewTypeAsString);
            MixFilter mixFilter = mediaLibraryBrowser.SessionData.LastMixesRequest.MixFilter;

            // 8tracks service deos not filter history adn recommended
            if (MixesViewTypeAsString.Equals(MixesViewType.Listened.ToString()))
            {
                return;
            }
            if (MixesViewTypeAsString.Equals(MixesViewType.Recommended.ToString()))
            {
                return;
            }

            if (mixFilter.Tags.Count > 0)
            {
                MixBrowsingMessage += String.Format(", tagged: {0}", StringUtils.TagListToString(mixFilter.Tags));
            }
            if (mixFilter.Query.Length > 0)
            {
                MixBrowsingMessage += String.Format(", including \"{0}\"", mixFilter.Query);
            }
        }
 public List <Mix> GetRecommendedMixes(MixFilter mixFilter, string userSlug)
 {
     return(GetMixes(mixFilter, MixesViewType.Recommended, 1, userSlug));
 }
 public List <Mix> GetHistoryMixes(MixFilter mixFilter, string userSlug)
 {
     return(GetMixes(mixFilter, MixesViewType.Listened, 1, userSlug));
 }
 public List <Mix> GetPopularMixes(MixFilter mixFilter)
 {
     return(GetMixes(mixFilter, MixesViewType.Popular, 1));
 }
 public List <Mix> GetHotMixes(MixFilter mixFilter)
 {
     return(GetMixes(mixFilter, MixesViewType.Hot, 1));
 }
 public List <Mix> GetRecentlyMadeMixes(MixFilter mixFilter)
 {
     return(GetMixes(mixFilter, MixesViewType.Recent, 1));
 }
 private List <Mix> GetMixes(MixFilter mixFilter, MixesViewType viewType, int pageNumber)
 {
     return(GetMixes(mixFilter, viewType, pageNumber, String.Empty));
 }
Example #13
0
 public MixesRequest CreateMixesRequest(MixFilter mixFilter, MixesViewType view, int pageNumber)
 {
     return(new MixesRequest(baseUri, apiKey, userToken, view, String.Empty, pageNumber, pageSize, mixFilter));
 }