Example #1
0
        private void ParseEtymology(EtymologyHtml html)
        {
            WordEtymology etymology = (_entities.WordEtymologies.Where(w => w.GreWord.Word == html.Word)).FirstOrDefault();

            if (etymology != null)
            {
                return;
            }

            Regex regex = new Regex(@"<dt.*?><a.*?>" + html.Word + @"(\s+.+)?<.*?dt>.+?<dd.*?>(.+?)</dd>", RegexOptions.Singleline);
            Match match = regex.Match(html.Html);

            if (!match.Success)
            {
                return;
            }

            FireLogMessage("Adding Etymology for Word: " + html.Word);

            string setymology = match.Groups[2].Value;

            setymology = Regex.Replace(setymology, "<span.*?>(.+?)</span>", "$1", RegexOptions.Singleline);
            setymology = Regex.Replace(setymology, "<a.*?>(.+?)</a>", "$1", RegexOptions.Singleline);
            setymology = CleanText(setymology);

            etymology = new WordEtymology {
                GreWord = GetGreWord(html.Word), Etymology = setymology
            };
            _entities.AddToWordEtymologies(etymology);
            _entities.SaveChanges();
        }
Example #2
0
        private void AddEtymologyHtml(string word, string data)
        {
            var sql = from w in _entities.EtymologyHtmls
                      where w.Word.Equals(word)
                      select w;

            if (sql.Count() == 0)
            {
                var mh = new EtymologyHtml()
                {
                    Word = word,
                    Html = data
                };
                _entities.AddToEtymologyHtmls(mh);
                _entities.SaveChanges();
            }
            else
            {
                sql.First().Html = data;
                _entities.SaveChanges();
            }
        }