summaryrefslogtreecommitdiff
path: root/rcal/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'rcal/db.py')
-rw-r--r--rcal/db.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/rcal/db.py b/rcal/db.py
index dffe98f..12fcd88 100644
--- a/rcal/db.py
+++ b/rcal/db.py
@@ -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)