import os

from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base

from blog import app

current_path = os.getcwd()

# engine = create_engine('sqlite:////tmp/test.db', convert_unicode=True)
engine = create_engine('sqlite:///{}/tdd.db'.format(current_path), convert_unicode=True)
db_session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine))

Base = declarative_base()
Base.query = db_session.query_property()


def init_db():
    import blog.base.models
    Base.metadata.create_all(bind=engine)


@app.teardown_request
def shutdown_session(exception=None):
    db_session.remove()