// ユーザーの投稿動画関連

        public static Task <string> GetUserDataAsync(NiconicoContext context, uint user_id, uint page, Sort sortMethod, Order sortDir)
        {
            var url = NiconicoUrls.MakeUserVideoRssUrl(user_id.ToString(), page, sortMethod.ToShortString(), sortDir.ToShortString());

            return(context
                   .GetStringAsync(url));
        }
示例#2
0
        public static async Task <string> GetTagSearchDataAsync(NiconicoContext context, string tag, uint pageCount, Sort sortMethod, Order sortDir)
        {
            var sortMethodChar = sortMethod.ToShortString();
            var sortDirChar    = sortDir.ToShortString();

            return(await context
                   .GetStringAsync(NiconicoUrls.MakeTagSearchUrl(System.Net.WebUtility.UrlEncode(tag), pageCount, sortMethodChar, sortDirChar)));
        }
示例#3
0
 public void ExtractSeriesContentId(string urlOrId)
 {
     if (Uri.TryCreate(urlOrId, UriKind.Absolute, out var uri))
     {
         CheckExtractIdResult(NiconicoIdType.Series, NiconicoUrls.ExtractNicoContentId(uri));
     }
     else
     {
         CheckExtractIdResult(NiconicoIdType.Series, new NiconicoId(urlOrId));
     }
 }
示例#4
0
 public void ExtractVideoContentId(string urlOrId)
 {
     if (Uri.TryCreate(urlOrId, UriKind.Absolute, out var uri))
     {
         var id = NiconicoUrls.ExtractNicoContentId(uri);
         Assert.IsNotNull(id);
         Assert.IsTrue(id.Value.IdType is NiconicoIdType.Video or NiconicoIdType.Video);
     }
     else
     {
         Assert.IsTrue(NiconicoId.TryCreate(urlOrId, out var id));
         Assert.IsTrue(id.IdType is NiconicoIdType.Video or NiconicoIdType.Video);
     }
 }
示例#5
0
        static public async Task <NiconicoId?> CheckClipboard()
        {
            DataPackageView dataPackageView = Clipboard.GetContent();

            if (dataPackageView.Contains(StandardDataFormats.WebLink))
            {
                var uri = await dataPackageView.GetWebLinkAsync();

                if (uri.OriginalString == prevContent)
                {
                    return(null);
                }

                prevContent = uri.OriginalString;
                return(NiconicoUrls.ExtractNicoContentId(uri));
            }
            else if (dataPackageView.Contains(StandardDataFormats.Text))
            {
                string text = await dataPackageView.GetTextAsync();

                if (prevContent == text)
                {
                    return(null);
                }
                prevContent = text;
                try
                {
                    if (Uri.TryCreate(text, UriKind.Absolute, out var uri))
                    {
                        return(NiconicoUrls.ExtractNicoContentId(uri));
                    }
                    else
                    {
                        return(NiconicoId.TryCreate(text, out var id) ? id : null);
                    }
                }
                catch
                {
                }
            }

            return(null);
        }
示例#6
0
        public static Uri ConvertToUrl(INiconicoObject content)
        {
            Uri uri = null;

            switch (content)
            {
            case IUser user:
                uri = new Uri(NiconicoUrls.MakeUserPageUrl(user.UserId));
                break;

            case IVideoContent videoContent:
                uri = new Uri(NiconicoUrls.MakeWatchPageUrl(videoContent.VideoId));
                break;

            case IMylist mylist:
                uri = new Uri(NiconicoUrls.MakeMylistPageUrl(mylist.MylistId));
                break;

            case ILiveContent live:
                uri = new Uri(NiconicoUrls.MakeLiveWatchPageUrl(live.LiveId));
                break;

            case IChannel channel:
                uri = new Uri(NiconicoUrls.MakeChannelPageUrl(channel.ChannelId));
                break;

            case ICommunity community:
                uri = new Uri(NiconicoUrls.MakeCommunityPageUrl(community.CommunityId));
                break;

            default:
                break;
            }

            return(uri);
        }
示例#7
0
 private static Task <string> GetUserDetailDataAsync(NiconicoContext context, string user_id)
 {
     // 投稿動画件数を同時に取得するため、ユーザーのvideoページからHTMLを取得する
     return(context
            .GetConvertedStringAsync($"{NiconicoUrls.MakeUserPageUrl(user_id)}/video"));
 }
 public static async Task <string> GetUserMylistDataAsync(NiconicoContext context, string user_id)
 {
     return(await context
            .GetConvertedStringAsync(NiconicoUrls.MakeUserPageUrl(user_id) + "/mylist"));
 }
 private static Task <string> GetUserSeriesDetailsHtmlAsync(NiconicoContext context, string seriesId)
 {
     return(context.GetStringAsync(NiconicoUrls.MakeSeriesPageUrl(seriesId)));
 }