Esempio n. 1
0
        /// <summary>
        /// スレッドを表すHtmlを作成します
        /// </summary>
        /// <param name="dat">スレッドデータ</param>
        /// <param name="title">スレッドタイトル</param>
        /// <param name="imageHeaders">スレッド画像リスト</param>
        /// <param name="imagesPath">画像の保存フォルダー</param>
        /// <returns>作成したhtmlソース</returns>
        public static string Create(string dat, IThreadHeader threadHeader, IEnumerable<IImageHeader> imageHeaders)
        {
            StringBuilder html = new StringBuilder();
            html.AppendFormat(HtmlHeaderFormat, threadHeader.Title, threadHeader.Url);
            html.Append(CreateBody(dat, imageHeaders, threadHeader.ImageSaveFolder));

            return html.ToString();
        }
Esempio n. 2
0
 public Thread(IThreadHeader header)
     : this()
 {
     this.header = header;
 }
Esempio n. 3
0
 //public virtual IThreadHeader[] Patrol()
 //{
 //    if (!initialized)
 //    {
 //        throw new InvalidOperationException("Not Initialized");
 //    }
 //    List<IThreadHeader> result = new List<IThreadHeader>();
 //    IThreadHeader[] allHeaders = ThreadParser.Parse(this, TargetBoardInfo, TargetBoardInfo.Read());
 //    foreach (IThreadHeader header in allHeaders)
 //    {
 //        if (IsMatch(header))
 //        {
 //            result.Add(header);
 //        }
 //    }
 //    return result.ToArray();
 //}
 public bool IsMatch(IThreadHeader input)
 {
     bool matchTitle = wordPattern.IsMatch(input.Title) && Common.GlobalNGPatternRegex.IsMatch(input.Title);//GlobalNGでなければIsMatchはtureを返す
     if (Common.Options.StartupOptions.RemoveExpirationThread)
     {
         bool spentLifeTime = (DateTime.Now - input.Since) > TimeSpan.FromDays(Common.Options.StartupOptions.ThreadLifeDate);
         return matchTitle && !spentLifeTime;
     }
     else
     {
         return matchTitle;
     }
 }