Beispiel #1
30
 //конструктор
 public Sentence(string origText, Referator parent, int index)
 {
     _originalText = origText;
     _parent = parent;
     _index = index;
     words = new cWords(this);
     string stemString = Mystem.lematizate(origText);
     this.parse2WordsFromStr(stemString);
 }
Beispiel #2
0
        //конструктор
        public Sentence(string origText, Referator parent, int index)
        {
            _originalText = origText;
            _parent       = parent;
            _index        = index;
            words         = new cWords(this);
            string stemString = Mystem.lematizate(origText);

            this.parse2WordsFromStr(stemString);
        }
Beispiel #3
0
 static void Main(string[] args)
 {
     string inpText;
     string textEncName = "";
     using (StreamReader sr = new StreamReader("text2.txt"))
     {
         inpText = sr.ReadToEnd();
         textEncName = sr.CurrentEncoding.WebName;
     }
     Referator r = new Referator(inpText, textEncName);
     string xmlStr = r.getXml();
     Console.WriteLine(xmlStr);
     Console.ReadKey();
 }
Beispiel #4
0
        static void Main(string[] args)
        {
            string inpText;
            string textEncName = "";

            using (StreamReader sr = new StreamReader("text2.txt"))
            {
                inpText     = sr.ReadToEnd();
                textEncName = sr.CurrentEncoding.WebName;
            }
            Referator r      = new Referator(inpText, textEncName);
            string    xmlStr = r.getXml();

            Console.WriteLine(xmlStr);
            Console.ReadKey();
        }
Beispiel #5
0
 // Добавление прелдожений
 public void Add(string text, Referator parent, int index)
 {
     // prehandle text
     _items.Add(new Sentence(text, parent, index));
 }
Beispiel #6
0
 public cSentences(Referator parent)
 {
     _parent = parent;
     _items  = new List <Sentence>();
 }
Beispiel #7
0
 public Sentence(string origText, Referator parent, int index, int m)
 {
     this._index = index;
     this._originalText = origText;
 }
Beispiel #8
0
        private void TcpListener_onMessage(IPEndPoint endpoint, MetaData md, string msg)
        {
            MetaData.Roles role = md.Role;

            switch(role)
            {
                case MetaData.Roles.dispatcher:
                    if(md.Action == MetaData.Actions.getCacheAdress)
                    {
                        conToCacheServer(msg);
                    }
                    break;

                case MetaData.Roles.client:
                    if(md.Action == MetaData.Actions.refNews)
                    {
                        Console.WriteLine();
                        echo("получен запрос на реферирование от " + endpoint.ToString());
                        Referator referator = null;
                        string fullArticle = "";
                        string[] refParameters = msg.Split('|');
                        string url = refParameters[0];
                        byte compressPerc = byte.Parse(refParameters[1]);
                        // hack: здесь нужно дописать запрос на кэшированную версию
                        // пока что всегда реферируем без проверки на кэш
                        bool hasCache = false;
                        bool passed=false;
                        try
                        {
                            cs.cacheFileExists(url, out hasCache, out passed);
                            
                        }
                        catch
                        {
                            hasCache = false;
                        }

                        

                        if (hasCache && passed)
                        {
                            echo("берем кэш версию");
                            string cachedXML;
                            try
                            {
                            cachedXML = cs.getCachedFile(url);
                            referator = new Referator(cachedXML);
                            echo("обработка кэш-версии статьи");
                        }
                            catch
                            {
                                Console.WriteLine(" для {0}", endpoint.ToString());
                                HtmlParser hp = new HtmlParser(url);
                                fullArticle = hp.Text;
                                echo("начинаем реферирование");
                                referator = new Referator(fullArticle, "utf-8");
                            }
                        }
                        else
                        {
                            
                            if (passed)
                            { 
                                cs.notifyReferation(url);
                                echo("сазали кэшу, что будем реферировать");
                            }
                            
                            try
                            {
                                // берем статью из интернета
                                Console.WriteLine(" для {0}", endpoint.ToString());
                                HtmlParser hp = new HtmlParser(url);
                                fullArticle = hp.Text;
                                echo("начинаем реферирование");
                                referator = new Referator(fullArticle, "utf-8");

                                string articleXml = referator.getXml();
                                //todo: отправляем кэш серверу articleXml
                                if (passed)
                                {
                                    cacheMSMQ.Send(articleXml, url);
                                }
                            }
                            catch (Exception ex)
                            {
                                //todo: обработать ошибку если не удалось скачать статью
                                Console.WriteLine("Ошибка в обращении к сайту или реферирования");

                            }
                        }

                        string compressedArticle = referator.Compress(compressPerc);

                        MetaData articleMD = new MetaData(MetaData.Roles.server, MetaData.Actions.refNews, MetaData.ContentTypes.plainText, compressedArticle);
                        tcpListener.Send(endpoint, compressedArticle, articleMD);
                    }
                    break;

                default:
                    Console.WriteLine("Не опознанная команда " + md.Action + " от " + md.Role);
                    break;
            }
        }
Beispiel #9
0
 public Sentence(string origText, Referator parent, int index, int m)
 {
     this._index        = index;
     this._originalText = origText;
 }