Example #1
0
        private async Task <ChannelItemResult> GetChannels(InternalChannelItemQuery query,
                                                           CancellationToken cancellationToken)
        {
            var downloader = new VimeoChannelDownloader(_logger, _jsonSerializer, _httpClient);
            var channels   = await downloader.GetVimeoChannelList(query, cancellationToken);

            var items  = new List <ChannelItemInfo>();
            var videos = new Videos();

            if (channels != null)
            {
                items = channels.Select(i => new ChannelItemInfo
                {
                    Type     = ChannelItemType.Folder,
                    ImageUrl = i.logo_url,
                    Name     = i.name,
                    Id       = "chan_" + i.id,
                    Overview = i.description
                }).ToList();
            }
            else
            {
                var downloader2 = new VimeoListingDownloader(_logger, _jsonSerializer, _httpClient);
                videos = await downloader2.GetCategoryVideoList(query.FolderId, query.StartIndex, query.Limit, cancellationToken);

                items = videos.Select(i => new ChannelItemInfo
                {
                    ContentType      = ChannelMediaContentType.Clip,
                    ImageUrl         = i.thumbnails[2].Url,
                    IsInfiniteStream = false,
                    MediaType        = ChannelMediaType.Video,
                    Name             = i.title,
                    Overview         = i.description,
                    Type             = ChannelItemType.Media,
                    Id           = i.id,
                    RunTimeTicks = TimeSpan.FromSeconds(i.duration).Ticks,
                    Tags         = i.tags == null ? new List <string>() : i.tags.Select(t => t.title).ToList(),
                    DateCreated  = DateTime.Parse(i.upload_date)
                }).ToList();
            }

            return(new ChannelItemResult
            {
                Items = items,
                TotalRecordCount = channels == null ? videos.total : channels.total
            });
        }
Example #2
0
        private async Task <ChannelItemResult> GetChannelItemsInternal(InternalChannelItemQuery query,
                                                                       CancellationToken cancellationToken)
        {
            var downloader = new VimeoListingDownloader(_logger, _jsonSerializer, _httpClient);
            var catSplit   = query.FolderId.Split('_');
            var videos     = new Videos();

            if (catSplit.Count() == 3)
            {
                if (catSplit[1] == "allVideos")
                {
                    videos = await downloader.GetCategoryVideoList(catSplit[2], query.StartIndex, query.Limit, cancellationToken).ConfigureAwait(false);
                }
                else
                {
                    videos = await downloader.GetVimeoList(catSplit[2], query.StartIndex, query.Limit, cancellationToken).ConfigureAwait(false);
                }
            }
            else
            {
                videos = await downloader.GetVimeoList(catSplit[1], query.StartIndex, query.Limit, cancellationToken).ConfigureAwait(false);
            }

            var items = videos.Select(i => new ChannelItemInfo
            {
                ContentType      = ChannelMediaContentType.Clip,
                ImageUrl         = i.thumbnails[2].Url,
                IsInfiniteStream = false,
                MediaType        = ChannelMediaType.Video,
                Name             = i.title,
                Overview         = i.description,
                Type             = ChannelItemType.Media,
                Id           = i.id,
                RunTimeTicks = TimeSpan.FromSeconds(i.duration).Ticks,
                Tags         = i.tags == null ? new List <string>() : i.tags.Select(t => t.title).ToList(),
                DateCreated  = DateTime.Parse(i.upload_date)
            });

            return(new ChannelItemResult
            {
                Items = items.ToList(),
                TotalRecordCount = videos.total
            });
        }
Example #3
0
        private async Task<ChannelItemResult> GetChannelItemsInternal(InternalChannelItemQuery query,
            CancellationToken cancellationToken)
        {
            var downloader = new VimeoListingDownloader(_logger, _jsonSerializer, _httpClient);
            var catSplit = query.FolderId.Split('_');
            var videos = new Videos();

            if (catSplit.Count() == 3)
            {
                if (catSplit[1] == "allVideos")
                    videos = await downloader.GetCategoryVideoList(catSplit[2], query.StartIndex, query.Limit, cancellationToken).ConfigureAwait(false);
                else
                    videos = await downloader.GetVimeoList(catSplit[2], query.StartIndex, query.Limit, cancellationToken).ConfigureAwait(false);
            }
            else
                videos = await downloader.GetVimeoList(catSplit[1], query.StartIndex, query.Limit, cancellationToken).ConfigureAwait(false);

            var items = videos.Select(i => new ChannelItemInfo
                {
                    ContentType = ChannelMediaContentType.Clip,
                    ImageUrl = i.thumbnails[2].Url,
                    IsInfiniteStream = false,
                    MediaType = ChannelMediaType.Video,
                    Name = i.title,
                    Overview = i.description,
                    Type = ChannelItemType.Media,
                    Id = i.id,
                    RunTimeTicks = TimeSpan.FromSeconds(i.duration).Ticks,
                    Tags = i.tags == null ? new List<string>() : i.tags.Select(t => t.title).ToList(),
                    DateCreated = DateTime.Parse(i.upload_date)

                });

            return new ChannelItemResult
            {
                Items = items.ToList(),
                TotalRecordCount = videos.total
            };
        }
Example #4
0
        private async Task<ChannelItemResult> GetChannels(InternalChannelItemQuery query,
            CancellationToken cancellationToken)
        {
            var downloader = new VimeoChannelDownloader(_logger, _jsonSerializer, _httpClient);
            var channels = await downloader.GetVimeoChannelList(query, cancellationToken);

            var items = new List<ChannelItemInfo>();
            var videos = new Videos();

            if (channels != null)
            {
                items = channels.Select(i => new ChannelItemInfo
                {
                    Type = ChannelItemType.Folder,
                    ImageUrl = i.logo_url,
                    Name = i.name,
                    Id = "chan_" + i.id,
                    Overview = i.description
                }).ToList();
            }
            else
            {
                var downloader2 = new VimeoListingDownloader(_logger, _jsonSerializer, _httpClient);
                videos = await downloader2.GetCategoryVideoList(query.FolderId, query.StartIndex, query.Limit, cancellationToken);

                items = videos.Select(i => new ChannelItemInfo
                {
                    ContentType = ChannelMediaContentType.Clip,
                    ImageUrl = i.thumbnails[2].Url,
                    IsInfiniteStream = false,
                    MediaType = ChannelMediaType.Video,
                    Name = i.title,
                    Overview = i.description,
                    Type = ChannelItemType.Media,
                    Id = i.id,
                    RunTimeTicks = TimeSpan.FromSeconds(i.duration).Ticks,
                    Tags = i.tags == null ? new List<string>() : i.tags.Select(t => t.title).ToList(),
                    DateCreated = DateTime.Parse(i.upload_date)
                }).ToList();
            }

            return new ChannelItemResult
            {
                Items = items,
                TotalRecordCount = channels == null ? videos.total : channels.total
            };
        }