예제 #1
0
        public override List <VideoInfo> GetVideos(Category category)
        {
            List <VideoInfo>   videos;
            DrakenCategory     dc           = category as DrakenCategory;
            List <DrakenVideo> drakenVideos = GetVideos(dc.Selector, dc.Name, (uint)(dc.Name == DrakenCategory.NEW ? 20 : 1024));

            if (dc.SortVideosByLetter)
            {
                videos = drakenVideos.OrderBy(v => v.Title).ToList <VideoInfo>();
            }
            else
            {
                videos = drakenVideos.ToList <VideoInfo>();
            }
            return(videos);
        }
예제 #2
0
        public override int DiscoverSubCategories(Category parentCategory)
        {
            parentCategory.SubCategories = new List <Category>();
            DrakenCategory dc = parentCategory as DrakenCategory;

            foreach (DrakenVideo video in GetVideos())
            {
                foreach (string name in video.getListFromSelector(dc.Selector).Where(n => !parentCategory.SubCategories.Any(c => c.Name == n)))
                {
                    parentCategory.SubCategories.Add(
                        new DrakenCategory()
                    {
                        Name           = name,
                        ParentCategory = parentCategory,
                        Selector       = dc.Selector,
                    }
                        );
                }
            }
            parentCategory.SubCategories           = parentCategory.SubCategories.OrderBy(c => c.Name).ToList <Category>();
            parentCategory.SubCategoriesDiscovered = parentCategory.SubCategories.Count > 0;
            return(parentCategory.SubCategories.Count);
        }