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); }
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); }
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); }
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"; }