Esempio n. 1
0
        private static void PlaylistItemsImport()
        {
            var channelService = new ChannelsService();
            var channelList = channelService.GetChannelList();
            var channels = channelService.GetChannels(channelList.Ids);

            var playlistsService = new PlaylistsService();
            var playlists = playlistsService.GetPlaylists(channels.Select(x => x.Id).ToList()).ToList();

            if (playlists.Any(x => x == null))
                playlists = _syncService.ImportPlaylists(channels).Result.ToList();

            var playlistItemsTask = _syncService.ImportPlaylistItems(playlists);
            var uploadsTask = _syncService.ImportUploadsPlaylistItems(channels);
            Task.WaitAll(new[] {playlistItemsTask, uploadsTask}, _taskService.Token);
        }
Esempio n. 2
0
        private static void VideosImport()
        {
            var channelService = new ChannelsService();
            var channelList = channelService.GetChannelList();
            var channels = channelService.GetChannels(channelList.Ids);

            _syncService.ImportVideos(channels).Wait(_taskService.Token);
        }
Esempio n. 3
0
        /// <summary>
        /// Imports playlists from youtube to redis
        /// </summary>
        /// <param name="channels"></param>
        /// <returns></returns>
        public async Task<IEnumerable<PlaylistDto>> ImportPlaylists(List<ChannelDto> channels)
        {
            return await Task.Run<IEnumerable<PlaylistDto>>(() =>
            {
                _eventLog.Log("Importing playlists");
                var playlists = new PlaylistsServiceImporter(_task).GetPlaylists(channels.Select(x => x.Id));

                foreach (var channel in channels)
                {
                    channel.PlaylistsIds = playlists.Where(playlist => channel.Id == playlist.ChannelId)
                        .OrderByDescending(x => x.PublishedAt)
                        .Select(playlist => playlist.Id).ToList();
                }
                var channelService = new ChannelsService();
                channelService.SetChannels(channels);


                _eventLog.Log("Finished importing playlists");
                return playlists;
            }, _taskCancellationToken);
        }