Exemple #1
0
        public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
        {
            var downloader = new SoundCloudListingDownloader(_logger, _jsonSerializer, _httpClient);
            var songs      = await downloader.GetTrackList(new InternalChannelItemQuery { FolderId = "latest", Limit = 6 }, cancellationToken).ConfigureAwait(false);

            return(songs.Select(i => new ChannelItemInfo
            {
                ContentType = ChannelMediaContentType.Song,
                ImageUrl = i.artwork_url,
                IsInfiniteStream = false,
                MediaType = ChannelMediaType.Audio,
                Name = i.title,
                Type = ChannelItemType.Media,
                Id = i.id.ToString(),
                RunTimeTicks = TimeSpan.FromMilliseconds(i.duration).Ticks,
                DateCreated = DateTime.Parse(i.created_at),

                MediaSources = new List <ChannelMediaInfo>
                {
                    new ChannelMediaInfo
                    {
                        Path = i.stream_url + "?client_id=78fd88dde7ebf8fdcad08106f6d56ab6"
                    }
                }
            }).OrderByDescending(i => i.DateCreated ?? DateTime.MinValue));
        }
        public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
        {
            var items = new List <ChannelItemInfo>();

            using (var site = await _httpClient.Get("https://api.vineapp.com/timelines/popular", CancellationToken.None).ConfigureAwait(false))
            {
                var timelineList = _jsonSerializer.DeserializeFromStream <TimelineList>(site);

                foreach (var c in timelineList.data.records)
                {
                    items.Add(new ChannelItemInfo
                    {
                        Name        = c.description,
                        Id          = c.postId.ToString(),
                        ImageUrl    = c.thumbnailUrl,
                        MediaType   = ChannelMediaType.Video,
                        ContentType = ChannelMediaContentType.Clip,
                        Type        = ChannelItemType.Media,
                        DateCreated = DateTime.Parse(c.created),

                        MediaSources = new List <ChannelMediaInfo>
                        {
                            new ChannelMediaInfo
                            {
                                Path      = c.videoUrl,
                                Container = Container.MP4
                            }
                        }
                    });
                }
            }

            return(items.OrderByDescending(i => i.DateCreated).ToList());
        }
Exemple #3
0
        public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
        {
            var tmp = await GetCategories();

            int i      = (int)(tmp.TotalRecordCount - 1);
            var videos = await GetVideos(tmp.Items[new Random(DateTime.Now.Millisecond).Next(0, i)].Id);

            List <ChannelItemInfo> list = videos.Items;

            return(videos.Items);
        }
Exemple #4
0
        public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
        {
            // Looks like the only way we can do this is by getting all, then sorting

            var all = await GetAllMedia(new InternalAllChannelMediaQuery
            {
                UserId = request.UserId
            }, cancellationToken).ConfigureAwait(false);

            return(all.Items.OrderByDescending(i => i.DateCreated ?? DateTime.MinValue));
        }
Exemple #5
0
        public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
        {
            var result = await GetChannelItems(new InternalChannelItemQuery
            {
                SortBy         = ChannelItemSortField.DateCreated,
                SortDescending = true,
                StartIndex     = 0,
                Limit          = 6
            }, cancellationToken).ConfigureAwait(false);

            return(result.Items);
        }
Exemple #6
0
        public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
        {
            var result = await GetChannelItems(new InternalChannelItemQuery
            {
                SortBy         = ChannelItemSortField.DateCreated,
                SortDescending = true,
                UserId         = request.UserId,
                FolderId       = ChannelMediaContentType.MovieExtra.ToString().ToLower() + "|" + ExtraType.Trailer + "|" + TrailerType.ComingSoonToTheaters
            }, cancellationToken).ConfigureAwait(false);

            return(result.Items);
        }
        public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
        {
            if (Plugin.Instance.IsAuthenticated)
            {
                var result = await Plugin.Instance.Client.Api.GetActivities(cancellationToken, new PagingInfo(10, 0));

                if (result.collection != null)
                {
                    var items = result.collection.Where(e => e.IsTrack() || e.IsPlaylist()).Select(i =>
                                                                                                   i.IsTrack() ? this.CreateInfoFromOriginTrack(i.origin, i.created_at) : this.CreateInfoFromOriginPlaylist(i.origin, i.created_at)
                                                                                                   );

                    return(items.ToList());
                }
            }

            return(new List <ChannelItemInfo>());
        }
        public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
        {
            var downloader = new Revision3ListingDownloader(_logger, _jsonSerializer, _httpClient);
            var videos     = await downloader.GetLatestEpisodeList(cancellationToken)
                             .ConfigureAwait(false);

            return(videos.episodes.Select(i => new ChannelItemInfo
            {
                ContentType = ChannelMediaContentType.Clip,
                ImageUrl = !String.IsNullOrEmpty(i.images.medium) ? i.images.medium : "",
                MediaType = ChannelMediaType.Video,
                Name = i.show.name + " - " + i.name,
                Type = ChannelItemType.Media,
                Id = i.slug,
                RunTimeTicks = TimeSpan.FromSeconds(i.duration).Ticks,
                DateCreated = !String.IsNullOrEmpty(i.published) ?
                              Convert.ToDateTime(i.published) : DateTime.MinValue,
                Overview = !String.IsNullOrEmpty(i.summary) ? i.summary : ""
            }).OrderByDescending(i => i.DateCreated));
        }
    public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
    {
        var result = await GetChannelItems(new InternalChannelItemQuery(), _ => true, cancellationToken).ConfigureAwait(false);

        return(result.Items.OrderByDescending(i => i.DateCreated ?? DateTime.MinValue));
    }
 public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
 {
     return(await GetChildren("latest", "/", cancellationToken).ConfigureAwait(false));
 }
Exemple #11
0
 /// <inheritdoc />
 public Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
 {
     // Implementing ISupportsLatestMedia is currently the only way to "automatically" refresh the library.
     throw new NotImplementedException();
 }
Exemple #12
0
 public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
 {
     return(await GetVideoListing("video", "MostRecent", "nogenre", new InternalChannelItemQuery { Limit = 6 },
                                  cancellationToken).ConfigureAwait(false));
 }
Exemple #13
0
 public async Task <IEnumerable <ChannelItemInfo> > GetLatestMedia(ChannelLatestMediaSearch request, CancellationToken cancellationToken)
 => await Worker.GetHeadlinersInfoAsync(logger, memoryCache);