Commit | Line | Data |
---|---|---|
eb9781ed | 1 | import os |
18cab06a O |
2 | from sqlalchemy import create_engine |
3 | from sqlalchemy.orm import sessionmaker | |
eb9781ed | 4 | from .table_def import * |
18cab06a | 5 | |
b2b933a9 | 6 | |
18cab06a O |
7 | class 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 |