add show profile
[rainbowstream.git] / rainbowstream / db.py
CommitLineData
eb9781ed 1import os
18cab06a
O
2from sqlalchemy import create_engine
3from sqlalchemy.orm import sessionmaker
eb9781ed 4from .table_def import *
18cab06a 5
b2b933a9 6
18cab06a
O
7class RainbowDB():
8
b2b933a9 9 engine = None
18cab06a
O
10
11 def __init__(self):
eb9781ed
O
12 if not os.path.isfile('rainbow.db'):
13 init_db()
18cab06a
O
14 self.engine = create_engine('sqlite:///rainbow.db', echo=False)
15
305ce127 16 def tweet_store(self, tweet_id):
908d5012 17 """
18 Store tweet id
19 """
18cab06a
O
20 Session = sessionmaker(bind=self.engine)
21 session = Session()
305ce127 22 m = Tweet(tweet_id)
18cab06a
O
23 session.add(m)
24 session.commit()
25
305ce127 26 def rainbow_to_tweet_query(self, rid):
908d5012 27 """
28 Query base of rainbow id
29 """
18cab06a
O
30 Session = sessionmaker(bind=self.engine)
31 session = Session()
305ce127 32 res = session.query(Tweet).filter_by(rainbow_id=rid).all()
18cab06a
O
33 return res
34
305ce127 35 def tweet_to_rainbow_query(self, tid):
908d5012 36 """
37 Query base of tweet id
38 """
18cab06a
O
39 Session = sessionmaker(bind=self.engine)
40 session = Session()
305ce127 41 res = session.query(Tweet).filter_by(tweet_id=tid).all()
42 return res
43
44 def message_store(self, message_id):
45 """
46 Store message id
47 """
48 Session = sessionmaker(bind=self.engine)
49 session = Session()
50 m = Message(message_id)
51 session.add(m)
52 session.commit()
53
54 def rainbow_to_message_query(self, rid):
55 """
56 Query base of rainbow id
57 """
58 Session = sessionmaker(bind=self.engine)
59 session = Session()
60 res = session.query(Message).filter_by(rainbow_id=rid).all()
61 return res
62
63 def message_to_rainbow_query(self, mid):
64 """
65 Query base of message id
66 """
67 Session = sessionmaker(bind=self.engine)
68 session = Session()
69 res = session.query(Message).filter_by(message_id=mid).all()
70 return res