X-Git-Url: https://vcs.fsf.org/?p=rainbowstream.git;a=blobdiff_plain;f=rainbowstream%2Fdb.py;h=192448fd44a941e8bb3034ee613b10da19e0be88;hp=5bfb04081c715ad1b8f2690b1527a42987e9222a;hb=8141aca6b2aaa7ce8f097f689fc2241f4f7ad3af;hpb=f75930c6e0b0ec505732b758d414162a8bebdece diff --git a/rainbowstream/db.py b/rainbowstream/db.py index 5bfb040..192448f 100644 --- a/rainbowstream/db.py +++ b/rainbowstream/db.py @@ -9,8 +9,12 @@ class RainbowDB(): engine = None def __init__(self): - if not os.path.isfile('rainbow.db'): - init_db() + """ + Init DB + """ + if os.path.isfile('rainbow.db'): + os.system('rm -rf rainbow.db') + init_db() self.engine = create_engine('sqlite:///rainbow.db', echo=False) def tweet_store(self, tweet_id): @@ -98,3 +102,53 @@ class RainbowDB(): session = Session() res = session.query(Theme).all() return res + + def semaphore_store(self, lock, pause): + """ + Store semaphore lock + """ + Session = sessionmaker(bind=self.engine) + session = Session() + th = Semaphore(lock, pause) + session.add(th) + session.commit() + + def semaphore_update_lock(self, lock): + """ + Update semaphore lock + """ + Session = sessionmaker(bind=self.engine) + session = Session() + res = session.query(Semaphore).all() + for r in res: + r.lock = lock + session.commit() + + def semaphore_update_pause(self, pause): + """ + Update semaphore pause + """ + Session = sessionmaker(bind=self.engine) + session = Session() + res = session.query(Semaphore).all() + for r in res: + r.pause = pause + session.commit() + + def semaphore_query_lock(self): + """ + Query semaphore lock + """ + Session = sessionmaker(bind=self.engine) + session = Session() + res = session.query(Semaphore).all() + return res[0].lock + + def semaphore_query_pause(self): + """ + Query semaphore pause + """ + Session = sessionmaker(bind=self.engine) + session = Session() + res = session.query(Semaphore).all() + return res[0].pause