Example #1
0
        public async Task CheckGettingPlaylistItems()
        {
            var manager = new YInfoRetriever();

            var fileProvaider = new JsonFileAuthProvider();

            fileProvaider.SetParams(@"D://client_secrets.json");

            manager.Authorize(fileProvaider).Wait();

            var sub = await manager.GetSubscriptions();

            if (!sub.Any())
            {
                return;
            }

            var channel = sub.First();

            var plList = await manager.GetPlayLists(channel.Snippet.ChannelId);

            if (!plList.Any())
            {
                return;
            }

            var pl = plList.First();

            var items = await manager.GetPlayListItems(pl.Id, CancellationToken.None);

            Assert.IsNotNull(items);
        }
Example #2
0
        public async Task CheckGettingChannels()
        {
            var manager = new YInfoRetriever();

            var fileProvaider = new JsonFileAuthProvider();

            fileProvaider.SetParams(@"D://client_secrets.json");

            manager.Authorize(fileProvaider).Wait();

            var sub = await manager.GetSubscriptions();

            Assert.IsNotNull(sub);
        }
Example #3
0
        public async Task CheckIntersectionWithWatchedVideos()
        {
            var manager = new YInfoRetriever();

            var fileProvaider = new JsonFileAuthProvider();

            fileProvaider.SetParams(@"D://client_secrets.json");

            await manager.Authorize(fileProvaider);

            var sub = await manager.GetSubscriptions();

            if (!sub.Any())
            {
                return;
            }

            var channel = sub.First();

            var plList = await manager.GetPlayLists(channel.Snippet.ResourceId.ChannelId);

            if (!plList.Any())
            {
                return;
            }

            var pl = plList.First();

            var items = await manager.GetPlayListItems(pl.Id, CancellationToken.None);

            var me = await manager.GetOwnChannel();

            var watched = await manager.GetPlayListItems(me.ContentDetails.RelatedPlaylists.WatchHistory, CancellationToken.None);

            var someItersection = watched.Select(w => w.Snippet.ResourceId.VideoId).Intersect(items.Select(i => i.Snippet.ResourceId.VideoId));


            foreach (var item in someItersection)
            {
                Debug.Print(item);
            }
            Assert.IsTrue(someItersection.Any());
            Assert.IsNotNull(someItersection);
        }
Example #4
0
        private async Task GetSubscriptions()
        {
            Status = "Getting channels";
            //Contract.Assert(youRetriever != null && youRetriever.IsAuthorized);

            if (youRetriever == null || !youRetriever.IsAuthorized)
            {
                Status = "Yor arent authorized! Please, press Connect first";
                return;
            }

            Subscriptions.Clear();
            Subscriptions = new ObservableCollection <ChannelEx>();

            var subscriptions = await youRetriever.GetSubscriptions();

            var channels = await youRetriever.GetChannelsFromSubscriptions(subscriptions);

            await GetWatched();


            foreach (var channel in channels)
            {
                var ex = new ChannelEx {
                    Channel = channel
                };
                Subscriptions.Add(ex);
            }

            var channelEx = Subscriptions.FirstOrDefault();

            if (channelEx != null)
            {
                CurrentChannel = channelEx;
            }
            Status = "Channels list updated";
        }