diff options
Diffstat (limited to 'rcal')
-rw-r--r-- | rcal/db.py | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -1,6 +1,7 @@ import json from os import path +import sqlalchemy.engine.url as url from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker @@ -13,9 +14,15 @@ class Session(object): config = json.load( open(path.join(path.dirname( path.realpath(__file__)), '..', 'conf', 'db.json'))) - db_str = "{0[type]}://{0[user]}:{0[pass]}@{0[host]}/{0[name]}".format( - config) - self.engine = create_engine(db_str) + 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) |