Exemplo n.º 1
0
        public static List <BangumiInfo> GetBangumiInfos(BangumiSeason bseason)
        {
            var result = new List <BangumiInfo>();

            for (int i = 0; i < bseason.Result.Count; i++)
            {
                var daySeason = bseason.Result[i];
                for (int j = 0; j < daySeason.Seasons.Count; j++)
                {
                    var season = daySeason.Seasons[j];
                    if (season.Is_published == 1 || season.Delay == 1)
                    {
                        continue;
                    }
                    long pubts = season.Pub_ts;
                    pubts *= 10000000;
                    DateTime t = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                    t = t.Add(new TimeSpan(pubts)).ToLocalTime();
                    Console.WriteLine(season.Pub_index);
                    var binfo = new BangumiInfo
                    {
                        Cover       = season.Cover,
                        SquareCover = season.Square_cover,
                        Index       = season.Pub_index.Substring(1, season.Pub_index.Length - 2),
                        EpNumber    = Convert.ToInt32(season.Ep_id),
                        SeasonId    = season.Season_id,
                        Title       = season.Title,
                        UpdateTime  = t
                    };
                    result.Add(binfo);
                }
            }
            return(result);
        }
Exemplo n.º 2
0
        public BangumiInfoService(string input)
        {
            if (input == null)
            {
                return;
            }

            if (ParseEntrance.IsBangumiSeasonId(input) || ParseEntrance.IsBangumiSeasonUrl(input))
            {
                long seasonId = ParseEntrance.GetBangumiSeasonId(input);
                bangumiSeason = BangumiInfo.BangumiSeasonInfo(seasonId);
            }

            if (ParseEntrance.IsBangumiEpisodeId(input) || ParseEntrance.IsBangumiEpisodeUrl(input))
            {
                long episodeId = ParseEntrance.GetBangumiEpisodeId(input);
                bangumiSeason = BangumiInfo.BangumiSeasonInfo(-1, episodeId);
            }

            if (ParseEntrance.IsBangumiMediaId(input) || ParseEntrance.IsBangumiMediaUrl(input))
            {
                long         mediaId      = ParseEntrance.GetBangumiMediaId(input);
                BangumiMedia bangumiMedia = BangumiInfo.BangumiMediaInfo(mediaId);
                bangumiSeason = BangumiInfo.BangumiSeasonInfo(bangumiMedia.SeasonId);
            }
        }
Exemplo n.º 3
0
        internal static void getBangumiInfo(long aid, long cid, int qn, HttpCallBack call)
        {
            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add("appkey", "appkey");
            param.Add("aid", aid.ToString());
            param.Add("cid", cid.ToString());
            param.Add("qn", qn.ToString());
            param.Add("ts", Utils.getUnixStamp.ToString());
            param.Add("otype", "json");
            string url = "https://bangumi.bilibili.com/player/api/v2/playurl?" + getUrlParam(param);

            HTTPRequest <BangumiInfo>(url, null,
                                      (bool isSuccess, object data) =>
            {
                if (isSuccess)
                {
                    BangumiInfo info = (BangumiInfo)data;
                    info.referer     = url;
                    call(true, info);
                }
                else
                {
                    call(isSuccess, data);
                }
            });
        }
Exemplo n.º 4
0
 public CommentTask(DateTime time, int blid, int taskid, BangumiInfo bi, string message, CommentTaskFinishedCallback callback = null)
 {
     Noticer       = new Noticer(time);
     BangumiListId = blid;
     TaskId        = taskid;
     BangumiInfo   = bi;
     Message       = message;
     Callback      = callback;
 }