gallery.accords-library.com/server/szurubooru/db/session.py

33 lines
764 B
Python
Raw Normal View History

2016-04-18 20:41:39 +00:00
import sqlalchemy
from szurubooru import config
2016-05-08 17:41:35 +00:00
class QueryCounter(object):
_query_count = 0
@staticmethod
def bump():
QueryCounter._query_count += 1
@staticmethod
def reset():
QueryCounter._query_count = 0
@staticmethod
def get():
return QueryCounter._query_count
2016-05-08 17:41:35 +00:00
def create_session():
_engine = sqlalchemy.create_engine(config.config['database'])
2016-05-08 17:41:35 +00:00
sqlalchemy.event.listen(
_engine, 'after_execute', lambda *args: QueryCounter.bump())
_session_maker = sqlalchemy.orm.sessionmaker(bind=_engine)
return sqlalchemy.orm.scoped_session(_session_maker)
2016-04-18 20:41:39 +00:00
# pylint: disable=invalid-name
2016-05-08 17:41:35 +00:00
session = create_session()
reset_query_count = QueryCounter.reset
get_query_count = QueryCounter.get