Exemplo n.º 1
0
 private static LiveRecommendResponse ParseLiveRecommendJson(string json)
 {
     return(new LiveRecommendResponse()
     {
         _RecommendItems = JsonSerializerExtensions.Load <List <LiveRecommendData> >(json)
     });
 }
Exemplo n.º 2
0
            public static async Task <NicoliveVideoInfoResponse> GetLiveInfoAsync(NiconicoContext context, string liveId)
            {
                var json = await GetLiveInfoJsonAsync(context, liveId);

                var resContainer = JsonSerializerExtensions.Load <NicoliveVideoInfoResponseContainer>(json);

                return(resContainer.NicoliveVideoResponse);
            }
Exemplo n.º 3
0
            public static async Task <NicoliveCommunityVideoResponse> GetLiveCommunityVideoAsync(NiconicoContext context, string communityOrChannelId)
            {
                var json = await GetLiveCommunityVideoJsonAsync(context, communityOrChannelId);

                var resContainer = JsonSerializerExtensions.Load <NicoliveCommunityVideoResponseContainer>(json);

                return(resContainer.NicoliveVideoResponse);
            }
Exemplo n.º 4
0
        public static async Task <VideoInfoArrayResponse> GetVideoInfoArrayAsync(
            NiconicoContext context
            , IEnumerable <string> videoIdList
            )
        {
            var json = await GetVideoArrayDataAsync(context, videoIdList);

            var res = JsonSerializerExtensions.Load <VideoInfoArrayResponseContainer>(json);

            return(res.DataContainer);
        }
Exemplo n.º 5
0
        private static RecommendResponse ParseRecommendPageHtml(string html)
        {
            const string Nico_RecommendationsParams = "Nico_RecommendationsParams=";

            var index        = html.IndexOf(Nico_RecommendationsParams);
            int openBrakets  = 0;
            int closeBrakets = 0;
            int cnt          = 0;

            // {}の個数を数えて、イコールになった地点までをリコメンドパラメータJSONとして取得する
            foreach (var c in html.Skip(index + Nico_RecommendationsParams.Length))
            {
                if (c == '{')
                {
                    ++openBrakets;
                }
                else if (c == '}')
                {
                    ++closeBrakets;
                }

                ++cnt;

                if (openBrakets == closeBrakets)
                {
                    break;
                }
            }

            if (openBrakets != closeBrakets)
            {
                throw new Exception("Failed recommend page parse, page not contains <Nico_RecommendationsParams>");
            }

            var recommendFirstParam = new string(html.Skip(index + Nico_RecommendationsParams.Length).Take(cnt).ToArray());

            // JSONのルートオブジェクトのキーがダブルクオーテーションで囲まれていないことへの対処
            var replaced = recommendFirstParam;

            replaced = replaced.Replace("page:", "\"page\":");
            replaced = replaced.Replace("seed:", "\"seed\":");
            replaced = replaced.Replace("user_tag_param:", "\"user_tag_param\":");
            replaced = replaced.Replace("compiled_tpl:", "\"compiled_tpl\":");
            replaced = replaced.Replace("first_data:", "\"first_data\":");

            return(JsonSerializerExtensions.Load <RecommendResponse>(replaced));
        }
Exemplo n.º 6
0
        private static VideoListingResponse ParseVideoResponseJson(string videoSearchResponseJson)
        {
            var responseContainer = JsonSerializerExtensions.Load <VideoListingResponseContainer>(videoSearchResponseJson);

            return(responseContainer.niconico_response);
        }
Exemplo n.º 7
0
        private static VideoInfoResponse ParseVideoInfoResponseJson(string json)
        {
            var responseContainer = JsonSerializerExtensions.Load <VideoInfoResponseContainer>(json);

            return(responseContainer.NicovideoVideoResponse);
        }
Exemplo n.º 8
0
        private static NicoliveVideoResponse ParseCommunityLiveInfoJson(string json)
        {
            var res = JsonSerializerExtensions.Load <CommunityLiveInfoResponse>(json);

            return(res.NicoliveVideoResponse);
        }
Exemplo n.º 9
0
        private static NicovideoCommunityResponse ParseCommunityInfoResponseJson(string json)
        {
            var responseContainer = JsonSerializerExtensions.Load <CommunityInfoResponseContainer>(json);

            return(responseContainer.NicovideoCommunityResponse);
        }
Exemplo n.º 10
0
 public static OnAirStreamsResponse ParseOnAirStreamsData(string onAirStreamsData)
 {
     return(JsonSerializerExtensions.Load <OnAirStreamsResponse>(onAirStreamsData));
 }
Exemplo n.º 11
0
 public static HistoriesResponse ParseHistoriesData(string historiesData)
 {
     return(JsonSerializerExtensions.Load <HistoriesResponse>(historiesData));
 }
Exemplo n.º 12
0
        private static MylistSearchResponse ParseVideoResponseJson(string mylistSearchResponseJson)
        {
            var responseContainer = JsonSerializerExtensions.Load <MylistSearchResponseContainer>(mylistSearchResponseJson);

            return(responseContainer.nicovideo_mylist_response);
        }
Exemplo n.º 13
0
        private static MylistGroupVideoResponse ParseMylistVideoItemsResponseJson(string json)
        {
            var responseContainer = JsonSerializerExtensions.Load <MylistGroupVideoResponseContainer>(json);

            return(responseContainer.niconico_response);
        }
Exemplo n.º 14
0
 public static SearchResponse ParseSearchData(string searchJson)
 {
     return(JsonSerializerExtensions.Load <SearchResponse>(searchJson));
 }
Exemplo n.º 15
0
 public static SuggestionResponse ParseSuggestionData(string suggestionData)
 {
     return(JsonSerializerExtensions.Load <SuggestionResponse>(suggestionData));
 }
Exemplo n.º 16
0
 private static ReservationResponse ParseReservationJson(string json)
 {
     return(JsonSerializerExtensions.Load <ReservationResponse>(json));
 }
Exemplo n.º 17
0
 public static ProgramsResponse ParseOnAirProgramsData(string onAirProgramsData)
 {
     return(JsonSerializerExtensions.Load <ProgramsResponseWrapper>(ProgramsResponseWrapper.PatchJson2(onAirProgramsData)).Response);
 }
        public static async Task <UserSearchResponse> SearchUsersAsync(NiconicoContext context, string searchWord, int?offset = null, int?limit = null, UserSearchSortOrder?sort = null, UserSearchSortOrder?order = null)
        {
            var json = await GetUserSearchResultAsync(context, searchWord, offset, limit, sort, order);

            return(JsonSerializerExtensions.Load <UserSearchResponse>(json));
        }
Exemplo n.º 19
0
 public static VideoResponse ParseVideoData(string videoData)
 {
     return(JsonSerializerExtensions.Load <VideoResponseWrapper>(ProgramsResponseWrapper.PatchJson(videoData)).Response);
 }
Exemplo n.º 20
0
 private static RecommendContent ParseRecommendJson(string json)
 {
     return(JsonSerializerExtensions.Load <RecommendContent>(json));
 }
Exemplo n.º 21
0
        public static async Task <ProgramInfo> GetProgramInfoAsync(NiconicoContext context, string liveId)
        {
            var json = await context.GetStringAsync($"http://live2.nicovideo.jp/watch/{liveId}/programinfo");

            return(JsonSerializerExtensions.Load <ProgramInfo>(json));
        }
Exemplo n.º 22
0
        private static MylistGroupDetailResponse ParseMylistGroupDetailResponseJson(string json)
        {
            var responseContainer = JsonSerializerExtensions.Load <MylistGroupDetailResponseContainer>(json);

            return(responseContainer.nicovideo_mylistgroup_response);
        }
Exemplo n.º 23
0
 public static Task <VideoPlaylistResponse> GetRelatedPlaylistAsync(NiconicoContext context, string videoId, string referer)
 {
     return(GetRelatedPlaylistDataAsync(context, videoId, referer)
            .ContinueWith(prevTask => JsonSerializerExtensions.Load <VideoPlaylistResponse>(prevTask.Result)));
 }
Exemplo n.º 24
0
 public static RemoveHistoryResponse ParseRemoveHistoryData(string historiesData)
 {
     return(JsonSerializerExtensions.Load <RemoveHistoryResponse>(historiesData));
 }
Exemplo n.º 25
0
 public static ChannelFollowResult ParseChannelFollowResult(string json)
 {
     return(JsonSerializerExtensions.Load <ChannelFollowResult>(json));
 }
Exemplo n.º 26
0
 public static Task <ChannelInfo> GetChannelInfoAsync(NiconicoContext context, string channelId)
 {
     return(GetChannelInfoJsonAsync(context, channelId)
            .ContinueWith(prevTask => JsonSerializerExtensions.Load <ChannelInfo>(prevTask.Result)));
 }
Exemplo n.º 27
0
 public static SearchProgramsResponse ParseSearchProgramsData(string searchProgramsData)
 {
     return(JsonSerializerExtensions.Load <SearchProgramsResponseWrapper>(ProgramsResponseWrapper.PatchJson2(searchProgramsData)).Response);
 }
Exemplo n.º 28
0
 public static SummaryResponse ParseSummaryData(string summaryData)
 {
     return(JsonSerializerExtensions.Load <SummaryResponse>(summaryData));
 }
Exemplo n.º 29
0
        public static async Task <LiveSearchResponse> GetLiveSearchAsync(
            NiconicoContext context,
            string q,
            int offset,
            int limit,
            SearchTargetType targets    = SearchTargetType.All,
            LiveSearchFieldType fields  = LiveSearchFieldType.ContentId,
            LiveSearchSortType sortType = LiveSearchSortType.StartTime | LiveSearchSortType.SortDecsending,
            ISearchFilter searchFilter  = null
            )
        {
            if (string.IsNullOrWhiteSpace(q))
            {
                throw new ArgumentException("q value must contains any character.");
            }
            if (offset < 0 || offset >= SearchConstants.MaxSearchOffset)
            {
                throw new ArgumentException("offset value out of bounds. (0 <= offset <= 1600)");
            }

            if (limit < 0 || limit >= SearchConstants.MaxSearchLimit)
            {
                throw new ArgumentException("limit value out of bounds. (0 <= limit <= 100)");
            }

            var dict = new Dictionary <string, string>()
            {
                { SearchConstants.QuaryParameter, q },
                { SearchConstants.OffsetParameter, offset.ToString() },
                { SearchConstants.LimitParameter, limit.ToString() },
                { SearchConstants.TargetsParameter, SearchHelpers.ToQueryString(targets) },
            };

            if (context.AdditionalUserAgent != null)
            {
                dict.Add(SearchConstants.ContextParameter, context.AdditionalUserAgent);
            }

            if (fields != LiveSearchFieldType.None)
            {
                dict.Add(SearchConstants.FieldsParameter, SearchHelpers.ToQueryString(fields));
            }

            if (sortType != LiveSearchSortType.None)
            {
                dict.Add(SearchConstants.SortParameter, SearchHelpers.ToQueryString(sortType));
            }

            if (searchFilter != null)
            {
                var filters = searchFilter.GetFilterKeyValues();
                foreach (var f in filters)
                {
                    dict.Add(f.Key, f.Value);
                }
            }

            var json = await context.GetStringAsync(SearchConstants.LiveSearchEndPoint, dict);

            return(JsonSerializerExtensions.Load <LiveSearchResponse>(json));
        }
Exemplo n.º 30
0
 public static RecentResponse ParseRecentData(string recentData)
 {
     return(JsonSerializerExtensions.Load <RecentResponse>(recentData));
 }