diff options
Diffstat (limited to 'xboomx/sqlitemgr.py')
-rw-r--r-- | xboomx/sqlitemgr.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/xboomx/sqlitemgr.py b/xboomx/sqlitemgr.py new file mode 100644 index 0000000..6e05bb2 --- /dev/null +++ b/xboomx/sqlitemgr.py @@ -0,0 +1,38 @@ +# coding=utf-8 +import os +from sqlalchemy import create_engine +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker +from sqlalchemy import Column, Integer, String + +__author__ = 'Victor Häggqvist' + +# create dir if not exists +try: + os.makedirs(os.getenv("HOME") + '/.xboomx') +except: + pass + +dbname = 'xboomx_sqlite.db' +dbpath = os.path.join(os.getenv("HOME"), '.xboomx', dbname) +dsn = 'sqlite:///%s' % dbpath + +engine = create_engine(dsn, echo=False) +Base = declarative_base() + + +class PathItem(Base): + __tablename__ = 'pathitems' + id = Column(Integer, primary_key=True) + name = Column(String) + count = Column(Integer) + + def __repr__(self): + return "<PathItem(name='%s', count='%s')>" % (self.name, self.count) + + +def get_session(): + Base.metadata.create_all(engine) + Session = sessionmaker(bind=engine) + session = Session() + return session |