private void Log(LoadedArticle article) { this.Dispatcher.Invoke(() => { tbLog.AppendText(String.Format("{0}: {1}", article.PublishDate, article.Title)); tbLog.AppendText("\r\n"); tbLog.ScrollToEnd(); }); }
public void Save(LoadedArticle article) { var folderPath = PreparePath(article.PublishDate); var fileName = GetFileName(article); var fullPath = Path.Combine(folderPath, fileName); var s = new XmlSerializer(typeof(LoadedArticle)); using (var stream = File.OpenWrite(fullPath)) { s.Serialize(stream, article); } }
public void TestMethod1() { var fds = new FinamDataSaver(@"C:\"); var article = new LoadedArticle() { Author = "Автор", Company = "Компания", PublishDate = DateTime.Now, Title = "Заголовок", Content = "Содержание страницы!" }; fds.Save(article); }
private string GetFileName(LoadedArticle article) { byte[] hash; using (MD5 md5 = MD5.Create()) { hash = md5.ComputeHash(Encoding.UTF8.GetBytes(article.Content)); } var sb = new StringBuilder(); for (int i = 0; i < hash.Length; i++) { sb.Append(hash[i].ToString("x2")); } return(sb + ".xml"); }
private async void LoadArticleContent(LoadedArticle item) { grLoading.Visibility = Visibility.Visible; grMain.IsEnabled = false; SelectedArticle = item; SetDirection(Trend.Unknown); SetWeight(int.MinValue); rtbArticleContent.Document = RichTextBoxHelper.LoadText(item.Content); var needFindMatch = cbCheckAutomatically.IsChecked.HasValue && cbCheckAutomatically.IsChecked.Value; Pattern pattern = null; if (needFindMatch) { ctrAnimation.AnimationText = "Searching for patterns ..."; await Task.Run(() => { pattern = FindMatch(); }); } if (pattern != null) { HighlightMatch(pattern.Regex, pattern.Trend); tbRegexPattern.Text = pattern.RawRegexText; SetDirection(pattern.Trend); SetWeight(pattern.Weight); } if (cbFindMarket.IsChecked.Value) { HighlightMatch(new Regex(BeforeOpeningPatternsKeeper.Market), Colors.Blue, true); } if (cbFindExpect.IsChecked.Value) { HighlightMatch(new Regex(BeforeOpeningPatternsKeeper.Expect), Colors.DarkOrange, true); } grLoading.Visibility = Visibility.Hidden; grMain.IsEnabled = true; }
public LoadedArticle LoadArticle(ArticleListItem listItem, DateTime day) { var url = FinamUrl + listItem.Url; var loadedArticle = new LoadedArticle { Author = listItem.Author, Company = listItem.Company, Url = url }; var wc = new WebClient { Encoding = Encoding.GetEncoding("windows-1251") }; var pageContent = wc.DownloadString(url); var extractedInfo = new ArticleInfoExtractor(pageContent).Extract(); loadedArticle.Title = extractedInfo.Title; loadedArticle.Content = extractedInfo.Content; loadedArticle.PublishDate = extractedInfo.PublishedDate ?? day; return(loadedArticle); }