示例#1
0
        public static VideoTitleParseResult ParseResponse(NicoResponse nicoResponse)
        {
            if (nicoResponse.Status == "fail")
            {
                var err = (nicoResponse.Error != null ? nicoResponse.Error.Description : "empty response");
                return(VideoTitleParseResult.CreateError("NicoVideo (error): " + err));
            }

            var title       = HtmlEntity.DeEntitize(nicoResponse.Thumb.Title);
            var thumbUrl    = UrlHelper.UpgradeToHttps(nicoResponse.Thumb.Thumbnail_Url) ?? string.Empty;
            var userId      = nicoResponse.Thumb.User_Id ?? string.Empty;
            var length      = ParseLength(nicoResponse.Thumb.Length);
            var author      = nicoResponse.Thumb.User_Nickname;
            var publishDate = DateTimeHelper.ParseDateTimeOffsetAsDate(nicoResponse.Thumb.First_Retrieve);

            if (string.IsNullOrEmpty(author))
            {
                author = GetUserName(userId);
            }

            var result = VideoTitleParseResult.CreateSuccess(title, author, userId, thumbUrl, length, uploadDate: publishDate);

            result.Tags = nicoResponse.Thumb.Tags;

            return(result);
        }
示例#2
0
        public static VideoTitleParseResult ParseResponse(NicoResponse nicoResponse)
        {
            if (nicoResponse.Status == "fail")
            {
                var err = (nicoResponse.Error != null ? nicoResponse.Error.Description : "empty response");
                return(VideoTitleParseResult.CreateError("NicoVideo (error): " + err));
            }

            var title       = HtmlEntity.DeEntitize(nicoResponse.Thumb.Title);
            var thumbUrl    = nicoResponse.Thumb.Thumbnail_Url ?? string.Empty;
            var userId      = nicoResponse.Thumb.User_Id ?? string.Empty;
            var length      = ParseLength(nicoResponse.Thumb.Length);
            var author      = nicoResponse.Thumb.User_Nickname;
            var publishDate = DateTimeHelper.ParseDateTimeOffsetAsDate(nicoResponse.Thumb.First_Retrieve);

            if (string.IsNullOrEmpty(author))
            {
                author = GetUserName(userId);
            }

            var tagMapping  = nicoTagMappingFactory.GetMappings();
            var matchedTags = nicoResponse.Thumb.Tags
                              .Where(e => tagMapping.ContainsKey(e))
                              .Select(e => tagMapping[e])
                              .ToArray();

            var result = VideoTitleParseResult.CreateSuccess(title, author, thumbUrl, length, uploadDate: publishDate);

            result.AuthorId = userId;
            result.Tags     = matchedTags;

            return(result);
        }