From 7749f209a5aea86779cec453a2d373d9db41061e Mon Sep 17 00:00:00 2001 From: Victor Häggqvist Date: Mon, 18 May 2015 21:06:03 +0200 Subject: track missing file --- xboomx/bin/xboomx_python2mirgation.py | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 xboomx/bin/xboomx_python2mirgation.py (limited to 'xboomx/bin') diff --git a/xboomx/bin/xboomx_python2mirgation.py b/xboomx/bin/xboomx_python2mirgation.py new file mode 100755 index 0000000..cc38c7d --- /dev/null +++ b/xboomx/bin/xboomx_python2mirgation.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python2 +# coding=utf-8 +import os +from pprint import pprint +from sqlalchemy import create_engine +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import sessionmaker + +__author__ = 'Victor Häggqvist' + +import shelve + +dbname = 'xboomx.db' +shelvepath = os.path.join(os.getenv("HOME"), '.xboomx', dbname) +db = shelve.open(shelvepath) +pprint(db) + + +dbname = 'xboomx_sqlite.db' +dbpath = os.path.join(os.getenv("HOME"), '.xboomx', dbname) +dsn = 'sqlite:///%s' % dbpath + +engine = create_engine(dsn, echo=True) +Base = declarative_base() + +from sqlalchemy import Column, Integer, String + + +class PathItem(Base): + __tablename__ = 'pathitems' + id = Column(Integer, primary_key=True) + name = Column(String) + count = Column(Integer) + + def __repr__(self): + return "" % (self.name, self.count) + + +Base.metadata.create_all(engine) +Session = sessionmaker(bind=engine) +session = Session() + +for dbi in db: + print('migrating %s: %s' % (dbi, db[dbi])) + sqlitem = PathItem(name=dbi, count=db[dbi]) + session.add(sqlitem) + +session.commit() +print('migration done') -- cgit v1.2.3