예제 #1
0
파일: repl.py 프로젝트: enriquepablo/terms
 def __init__(self, config):
     self.config = config
     self._buffer = ''
     self.no_response = object()
     self.prompt = '>> '
     if HAS_READLINE and config['terms_history_file'] and int(config['terms_history_length']):
         readline.set_history_length(int(config['terms_history_length']))
         fn = os.path.expanduser(config['terms_history_file'])
         try:
             if not os.path.exists(fn):
                 with open(fn, 'w') as f:
                     f.write('# terms history\n')
             readline.read_history_file(fn)
         except Exception:
             pass
     address = '%s/%s' % (config['dbms'], config['dbname'])
     engine = create_engine(address)
     Session = sessionmaker(bind=engine)
     if config['dbname'] == ':memory:':
         from terms.core.terms import Base
         Base.metadata.create_all(engine)
         from terms.core.network import Network
         Network.initialize(Session())
     self.compiler = Compiler(Session(), config)
     register_exec_global(Runtime(self.compiler), name='runtime')
예제 #2
0
파일: sa.py 프로젝트: enriquepablo/terms
def get_sasession(config):
    address = '%s/%s' % (config['dbms'], config['dbname'])
    engine = create_engine(address)
    Session = sessionmaker(bind=engine)
    if config['dbname'] == ':memory:':
        session = Session()
        Base.metadata.create_all(engine)
        Network.initialize(session)
        session.close()
    return Session
예제 #3
0
def init_terms():
    config = get_config()
    address = '%s/%s' % (config['dbms'], config['dbname'])
    engine = create_engine(address)
    Base.metadata.create_all(engine)
    Session = sessionmaker(bind=engine)
    session = Session()
    Network.initialize(session)
    session.commit()
    session.close()
    sys.exit(0)
예제 #4
0
파일: tests.py 프로젝트: enriquepablo/terms
def test_terms():  # test generator
    # read contents of tests/
    # feed each test to run_npl
    d = os.path.dirname(sys.modules['terms.core'].__file__)
    d = os.path.join(d, 'tests')
    files = os.listdir(d)
    config = ConfigParser()
    config.read_string(CONFIG)
    config = config['test']
    for f in files:
        if f.endswith('.test'):
            address = '%s/%s' % (config['dbms'], config['dbname'])
            engine = create_engine(address)
            Session = sessionmaker(bind=engine)
            session = Session()
            Base.metadata.create_all(engine)
            Network.initialize(session)
            kb = KnowledgeBase(session, config,
                               lex_optimize=False,
                               yacc_optimize=False,
                               yacc_debug=True)
            yield run_terms, kb, os.path.join(d, f)
            kb.session.close()
            Base.metadata.drop_all(engine)