Ejemplo n.º 1
0
        public OtherOwneredMylist(MylistGroupData data, int sortIndex = 0)
            : this()
        {
            Id          = data.Id;
            Label       = data.Name;
            Count       = (int)data.Count;
            Description = data.Description;
            SortIndex   = sortIndex;
            OwnerUserId = data.UserId;

            _ThumnailUrl = data.ThumbnailUrls.FirstOrDefault()?.OriginalString;
        }
Ejemplo n.º 2
0
        public MylistGroupListItem(MylistGroupData mylistGroup)
        {
            Label       = mylistGroup.Name;
            Description = mylistGroup.Description;
            GroupId     = mylistGroup.Id;
            OptionText  = (mylistGroup.GetIsPublic() ? "公開" : "非公開") + $" - {mylistGroup.Count}件";

            ThemeColor = mylistGroup.GetIconType().ToColor();
            ItemCount  = (uint)mylistGroup.Count;

            if (mylistGroup.ThumbnailUrls != null)
            {
                foreach (var thumbnailUri in mylistGroup.ThumbnailUrls)
                {
                    AddImageUrl(thumbnailUri.OriginalString);
                }
            }
        }
Ejemplo n.º 3
0
        public MylistGroupListItem(MylistGroupData mylistGroup, PageManager pageManager)
        {
            _PageManager = pageManager;

            Title       = mylistGroup.Name;
            Description = mylistGroup.Description;
            GroupId     = mylistGroup.Id;
            OptionText  = (mylistGroup.GetIsPublic() ? "公開" : "非公開") + $" - {mylistGroup.Count}件";

            ThemeColor = mylistGroup.GetIconType().ToColor();
            if (mylistGroup.ThumbnailUrls != null)
            {
                foreach (var thumbnailUri in mylistGroup.ThumbnailUrls)
                {
                    ImageUrlsSource.Add(thumbnailUri.OriginalString);
                }
            }
        }
Ejemplo n.º 4
0
        private static List <MylistGroupData> ParseMylistPageHtml(string rawHtml)
        {
            List <MylistGroupData> list = new List <MylistGroupData>();

            var html = new HtmlDocument();

            html.LoadHtml(rawHtml);

            var body = html.DocumentNode
                       .GetElementByTagName("html")
                       .GetElementByTagName("body");


            var articleBody = body
                              .GetElementByClassName("BaseLayout")
                              .GetElementByClassName("wrapper")
                              .GetElementById("mylist")
                              .GetElementByClassName("articleBody");

            return(articleBody.GetElementsByClassName("outer")
                   .Select(x =>
            {
                var data = new MylistGroupData();

                var section = x
                              .GetElementByClassName("section");
                var h4 = section
                         .GetElementByTagName("h4");
                var anchor = h4
                             .GetElementByTagName("a");

                data.Id = new String(anchor.GetAttributeValue("href", "").Skip("mylist/".Count()).ToArray());
                data.Name = anchor.InnerText;
                data.Count = int.Parse(new String(
                                           h4
                                           .GetElementByTagName("span")
                                           .InnerText.Skip(2).TakeWhile(c => c >= '0' && c <= '9')
                                           .ToArray()
                                           )
                                       );

                data.IconId = anchor
                              .GetElementByClassName("folderIcon")
                              .GetAttributeValue("class", "")
                              .Last()
                              .ToString();



                var fullDescription = section.GetElementsByClassName("mylistDescription")?
                                      .SingleOrDefault(y => y.GetAttributeValue("data-nico-mylist-desc-full", "") == "true");

                data.Description = fullDescription != null ? fullDescription.InnerText : "";



                data.ThumbnailUrls = x.GetElementByClassName("thumbContainer")
                                     .GetElementByTagName("ul")
                                     .GetElementsByTagName("li")
                                     .Select(thumb =>
                {
                    return new Uri(
                        thumb.GetElementByTagName("img")
                        .GetAttributeValue("src", "")
                        );
                })
                                     .ToList();


                return data;
            })
                   .ToList());
        }
Ejemplo n.º 5
0
 public OtherOwneredMylist MakeAndRegistrationCache(MylistGroupData data, int sortIndex)
 {
     return(new OtherOwneredMylist(data.Id, data.Name, data.Count, sortIndex));
 }