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); }
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); }