X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=rainbowstream%2Fdb.py;h=01b91fb163fbd7e5933da975d46e878610ae87d1;hb=4c025026dec3c67b7757261b14e9438b1e31d7b0;hp=5bfb04081c715ad1b8f2690b1527a42987e9222a;hpb=f75930c6e0b0ec505732b758d414162a8bebdece;p=rainbowstream.git diff --git a/rainbowstream/db.py b/rainbowstream/db.py index 5bfb040..01b91fb 100644 --- a/rainbowstream/db.py +++ b/rainbowstream/db.py @@ -9,10 +9,15 @@ 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): """ Store tweet id @@ -23,6 +28,7 @@ class RainbowDB(): session.add(t) session.commit() + def rainbow_to_tweet_query(self, rid): """ Query base of rainbow id @@ -32,6 +38,7 @@ class RainbowDB(): res = session.query(Tweet).filter_by(rainbow_id=rid).all() return res + def tweet_to_rainbow_query(self, tid): """ Query base of tweet id @@ -41,6 +48,7 @@ class RainbowDB(): res = session.query(Tweet).filter_by(tweet_id=tid).all() return res + def message_store(self, message_id): """ Store message id @@ -51,6 +59,7 @@ class RainbowDB(): session.add(m) session.commit() + def rainbow_to_message_query(self, rid): """ Query base of rainbow id @@ -60,6 +69,7 @@ class RainbowDB(): res = session.query(Message).filter_by(rainbow_id=rid).all() return res + def message_to_rainbow_query(self, mid): """ Query base of message id @@ -69,6 +79,7 @@ class RainbowDB(): res = session.query(Message).filter_by(message_id=mid).all() return res + def theme_store(self, theme_name): """ Store theme @@ -79,6 +90,7 @@ class RainbowDB(): session.add(th) session.commit() + def theme_update(self, theme_name): """ Update theme @@ -90,6 +102,7 @@ class RainbowDB(): r.theme_name = theme_name session.commit() + def theme_query(self): """ Query theme @@ -98,3 +111,58 @@ 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