Exemple #1
1
 def add_term(self):
     """
     Добавление терминов в terms.db
     """
     db = Database("terms.db")
     coursers = db.get(["all_terms"])
     all_terms = {}
     for table in coursers:
         for term, definition in coursers[table]:
             all_terms[term] = definition
     ec = ""
     while ec != "--exit":
         ec = unicode(raw_input("\nТермин: "), "utf-8")
         definition = ""
         is_exit = False
         if is_exit or ec == "--exit":
             break
         if ec in all_terms:
             print "[Термин существует]: ", all_terms[ec]
         ec2 = None
         while ec2 not in ("--exit", ""):
             ec2 = raw_input("- ")
             if ec2 == "":
                 break
             if ec2 == "--exit":
                 is_exit = True
             else:
                 definition += ec2 + " / "
             definition = definition[:-3]
         db.insert("all_terms", [ec, unicode(definition, "utf-8")])
         db.commit()
     db.close_db()
Exemple #2
0
    def change_term(self):
        """
        Позволяет изменить значение термина.
        """
        db = Database("terms.db")
        coursers = db.get(["all_terms"])
        all_terms = {}
        for table in coursers:
            for term, definition in coursers[table]:
                all_terms[term] = definition

        ec = None
        while ec != "--exit":
            ec = unicode(raw_input("Термин: "), "utf-8")
            if ec == "--exit":
                break
            elif ec == "":
                pass
            else:
                if ec in all_terms:
                    print "Значение: ", all_terms[ec], "\n"
                    new_definition = raw_input("Новое значение: ")
                    db.delete("all_terms", [ec])
                    db.insert("all_terms", [ec, unicode(new_definition, "utf-8")])
                    db.commit()
                else:
                    print "Термина не существует!\n"
        db.close_db()
Exemple #3
0
 def del_term(self):
     """
     Удаление терминов их terms.db
     """
     db = Database("terms.db")
     ec = ''
     while ec != '--exit':
         ec = raw_input("Термин: ")
         if ec == '--exit':
             break
         db.delete("all_terms", [ec])
         db.commit()
     db.close_db()
Exemple #4
0
    def parse_files(self):
        """
        Производит парсинг файлов из директории "input/".
        Сохраняет результат в БД.
        """

        # словари терминов и фраз по всем файлам
        all_terms = []
        all_phrases = []

        # создаёт список файлов
        files_in_dir = os.listdir(self.input_path)
        for file_name in files_in_dir:

            # парсит файл на термины. возврашает список
            parsed_terms = self.parse_terms(self.input_path + file_name)
            # парсит файл на фразы
            parsed_phrases = self.parse_phrases(self.input_path + file_name)

            # заполняет all_terms из каждого отпарсенного файла
            for term in parsed_terms:
                if term not in all_terms:
                    all_terms.append(term)
            # заполняет all_phrases
            for phrase in parsed_phrases:
                # проверку на совпадение фраз не вижу смысла делать
                all_phrases.append(phrase)

            #os.remove(self.input_path + file_name)

            # удаляю термины имеющиеся в useless_terms
            # возвращает словарь без useless терминов
            without_useless = self.check_on_useless(all_terms)

            # таблицы на обновление
            phrases_objs = {
                "parsed_phrases": all_phrases,
            }

            terms_objs = {
                "parsed_terms": without_useless,
                "useless_terms": without_useless
            }

            # сохраняет новые термины в таблицу parsed_terms
            # сохраняет новые фразы в таблицу parsed_phrases
            # обновляет таблицу useless_terms
            if all_phrases:
                db = Database(file_name[:-3] + 'db')
                db.create_tables(PHRASES_TABLES)
                for table in phrases_objs:
                    for row in phrases_objs[table]:
                        row = [row]
                        db.insert(table, row)
                db.commit()
                db.close_db()

            if without_useless:
                db = Database("terms.db")
                for table in terms_objs:
                    for row in terms_objs[table]:
                        row = [row]
                        db.insert(table, row)
                db.commit()
                db.close_db()
Exemple #5
0
    """
    Выводит меню
    """
    print u"\n\t1. Выход"
    print u"\t2. Парсинг"
    print u"\t3. Ручная корректировка и заполнение словарей"
    print u"\t4. Ручная корректировка и заполнение фраз"
    print u"\t5. Тестирование по фразам"
    print u"\t6. *Добавить термин в словарь"
    print u"\t7. *Удалить термин из словаря"
    print u"\t8. *Изменить термин"


db = Database("terms.db")
db.create_tables(TERMS_TABLES)
db.close_db()

while 1:
    show_menu()
    ec = raw_input("\nВведите команду: ")
    if ec == "1":
        break
    elif ec == "2":
        from parsing import *

        parsing = Parsing()
        parsing.parse_files()
    elif ec == "3":
        from handinserting import *

        hi = HandInserting()