Beispiel #1
0
 public static void ExpandWrite(RefactorScheme schemes)
 {
     AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, "以下のデータをコレクションに格納します。");
     AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $"生放送予定枠:");
     AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" => UUID          : {schemes._id}");
     AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" => タイトル    :{schemes.Title}");
     AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" => チャンネル名  :{schemes.ChannelName}");
     AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" => チャンネルID :{schemes.ChannelId}");
     AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" ");
     AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" ================================================ ");
     AlConsole.WriteLine(DefaultScheme.DB_IN_DATA_SCHEME_STBY, $" ");
 }
Beispiel #2
0
        public static bool IsFinishedLive(RefactorScheme scheme)
        {
            if (string.IsNullOrEmpty(scheme.StartTime))
            {
                Console.ForegroundColor = ConsoleColor.Magenta;
                Console.Write(": WARNING - 開始時間を参照できません。終了していないライブとして処理します。 ");
                Console.ResetColor();
                Settings.WarnData += 1;
                return(false);
            }
            DateTime time = DateTime.Parse(scheme.StartTime);

            return(time.Ticks - DateTime.Now.Ticks < 0);
        }
        public static void BundleModification(Dictionary <Item, ExtendItem> bundleScheme)
        {
            foreach (KeyValuePair <Item, ExtendItem> itemValue in bundleScheme)
            {
                Item       item;
                ExtendItem exItem;

                if (itemValue.Key.Snippet == null || itemValue.Value.Details == null)
                {
                    _needAdditionalData = true;
                    Settings.CautData  += 1;
                    continue;
                    // TODO : コラボ動画の追加処理を考える。
                }
                else
                {
                    item   = itemValue.Key;
                    exItem = itemValue.Value;
                }

                if (_needAdditionalData)
                {
                }

                AlExtension.ColorizeWrite(
                    DefaultScheme.CONTROLLER, $"({count+1, 3}/{bundleScheme.Count}) ^[ ^{itemValue.Key.Id.VideoId} ^] キューに追加しています / ",
                    new [] { ConsoleColor.White, ConsoleColor.Green, ConsoleColor.Blue, ConsoleColor.Green });
                RefactorScheme refactorScheme = RefactorBuilder.Define
                                                .SetTitle(item.Snippet.Title)
                                                .SetDescription(item.Snippet.Description)
                                                .SetVideoId(item.Id.VideoId)
                                                .SetChannelId(item.Snippet.ChannelId)
                                                .SetChannelName(item.Snippet.ChannelTitle)
                                                .SetPublish(item.Snippet.PublishTime.ToString())
                                                .SetStartTime(exItem.Details.ScheduledStartTime)
                                                .SetThumbnailData(
                    ThumbnailDataBuilder.Define.SetUrl(new Uri($"https://i.ytimg.com/vi/{itemValue.Key.Id.VideoId}/maxresdefault_live.jpg")).Build())
                                                .Build();

                Console.Write("Validate... ");

                /*
                 * RefactorScheme refactorScheme = new RefactorScheme() {
                 *  _id           = GenUuid.Generate(),
                 *  Title         = itemValue.Key.Snippet.Title,
                 *  Description   = itemValue.Key.Snippet.Description,
                 *  VideoId       = itemValue.Key.Id.VideoId,
                 *  ChannelName   = itemValue.Key.Snippet.ChannelTitle,
                 *  ChannelId     = itemValue.Key.Snippet.ChannelId,
                 *  Thumbnail     = new ThumbnailsData() {
                 *      Url       = new Uri($"https://i.ytimg.com/vi/{itemValue.Key.Id.VideoId}/maxresdefault_live.jpg"), //itemValue.Key.Snippet.Thumbnails.Medium.Url,
                 *      Height    = "641", //itemValue.Key.Snippet.Thumbnails.Medium.Height.ToString(),
                 *      Width     = "361"  //itemValue.Key.Snippet.Thumbnails.Medium.Width.ToString()
                 *  },
                 *  StartTime     = itemValue.Value.Details.ScheduledStartTime,
                 *  Publish       = itemValue.Key.Snippet.PublishTime.ToString(),
                 * };
                 */

                if (!LiveCheck.IsFreeChat(itemValue.Key) || (Settings.UseIgnoreDataFromConfig && Settings.IgnoreVideoId.Contains(item.Id.VideoId)))
                {
                    if (!LiveCheck.IsFinishedLive(refactorScheme))
                    {
                        _schemes.Add(refactorScheme);
                    }
                    else
                    {
                        if (LiveCheck.IsLazyLive(itemValue.Value))
                        {
                            _schemes.Add(refactorScheme);
                            LazyLivesDict.Add(item.Id.VideoId, item.Snippet.Title);
                        }
                        finishedLivesDict.Add(item.Id.VideoId, item.Snippet.Title);
                    }
                }
                else
                {
                    freechatLivesDict.Add(item.Id.VideoId, item.Snippet.Title);
                }

                Console.WriteLine("/ Finished");
                count++;
            }
        }