PageRenderTime 27ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/api/model/sessionHelper.py

https://gitlab.com/fdemian/Shelob
Python | 35 lines | 27 code | 8 blank | 0 comment | 0 complexity | 7c30d25972df154153b985af7a816572 MD5 | raw file
  1. from sqlalchemy import create_engine
  2. from sqlalchemy.orm import sessionmaker
  3. from tornado.options import options, parse_config_file
  4. from os import path
  5. config_file = '../../config.ini'
  6. config_file_path = path.join(path.dirname(__file__), config_file)
  7. def get_database_url():
  8. parse_config_file(config_file_path)
  9. user = options.database_user
  10. name = options.database_name
  11. port = options.database_port
  12. password = options.database_password
  13. return 'postgresql+psycopg2://' + user + ":" + password + "@localhost:" + port + "/" + name
  14. def get_session():
  15. connection_string = get_database_url()
  16. engine = create_engine(connection_string)
  17. session = sessionmaker(bind=engine)
  18. return session
  19. def get_global_session(options):
  20. user = options['database_user']
  21. name = options['database_name']
  22. port = options['database_port']
  23. password = options['database_password']
  24. connection_string = 'postgresql+psycopg2://' + user + ":" + password + "@localhost:" + port + "/" + name
  25. engine = create_engine(connection_string)
  26. session = sessionmaker(bind=engine)
  27. return session