autopep8
[rainbowstream.git] / rainbowstream / db.py
... / ...
CommitLineData
1import os
2from sqlalchemy import create_engine
3from sqlalchemy.orm import sessionmaker
4from table_def import Map
5from .table_def import *
6
7
8class RainbowDB():
9
10 engine = None
11
12 def __init__(self):
13 if not os.path.isfile('rainbow.db'):
14 init_db()
15 self.engine = create_engine('sqlite:///rainbow.db', echo=False)
16
17 def store(self, tweet_id):
18 """
19 Store tweet id
20 """
21 Session = sessionmaker(bind=self.engine)
22 session = Session()
23 m = Map(tweet_id)
24 session.add(m)
25 session.commit()
26
27 def rainbow_query(self, rid):
28 """
29 Query base of rainbow id
30 """
31 Session = sessionmaker(bind=self.engine)
32 session = Session()
33 res = session.query(Map)
34 .filter("rainbow_id =:rid").params(rid=rid).all()
35 return res
36
37 def tweet_query(self, tid):
38 """
39 Query base of tweet id
40 """
41 Session = sessionmaker(bind=self.engine)
42 session = Session()
43 res = session.query(Map)
44 .filter("tweet_id =:tid").params(tid=tid).all()
45 return res
46
47 def truncate(self):
48 """
49 Truncate table
50 """
51 Session = sessionmaker(bind=self.engine)
52 session = Session()
53 session.query(Map).delete()
54 session.commit()