import json from os import path import sqlalchemy.engine.url as url from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker class Session(object): engine = None def __init__(self): config = json.load( open(path.join(path.dirname( path.realpath(__file__)), '..', 'config', 'db.json'))) db_str = url.URL( drivername=config['type'], host=config['host'], username=config['user'], password=config['pass'], database=config['name'], query={'charset': config['cset']} ) self.engine = create_engine(db_str, encoding=config['cset']) def get_maker(self): return sessionmaker(bind=self.engine) @staticmethod def create(): session = Session() maker = session.get_maker() return maker()