// ユーザーの投稿動画関連 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)); }
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))); }
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)); } }
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); } }
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); }
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); }
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))); }