script/lib/iri_tweet/models.py
changeset 253 e9335ee3cf71
parent 250 6334869ab06d
parent 243 9213a63fa34a
child 254 2209e66bb50b
--- a/script/lib/iri_tweet/models.py	Wed Jul 27 18:32:56 2011 +0200
+++ b/script/lib/iri_tweet/models.py	Tue Aug 09 13:07:23 2011 +0200
@@ -42,7 +42,34 @@
             if hasattr(self,key):
                 setattr(self,key,value)
 
+class TweetSource(Base):
+    __tablename__ = 'tweet_tweet_source'
+    id = Column(Integer, primary_key = True, autoincrement=True)
+    original_json = Column(String)
+    received_at = Column(DateTime, default=datetime.datetime.now())
+    
+    def __init__(self, **kwargs):
+        for key, value in kwargs.items():
+            if hasattr(self,key):
+                setattr(self,key,value)
 
+
+class TweetLog(Base):
+    
+    TWEET_STATUS = {
+        'OK' : 1,
+        'ERROR' : 2,
+    }
+    
+    __tablename__ = 'tweet_tweet_log'
+    id = Column(Integer, primary_key = True, autoincrement=True)
+    tweet_source_id = Column(Integer, ForeignKey('tweet_tweet_source.id'))
+    tweet_source = relationship("TweetSource", backref="logs")
+    status = Column(Integer)
+    error = Column(String)
+    error_stack = Column(String)
+ 
+    
 class Tweet(Base):
     __tablename__ = 'tweet_tweet'
 
@@ -65,12 +92,12 @@
     text = Column(String)
     truncated = Column(Boolean)
     user_id = Column(Integer, ForeignKey('tweet_user.id'))
-    original_json = Column(String)
+    user = relationship("User", backref="tweets")
+    tweet_source_id = Column(Integer, ForeignKey('tweet_tweet_source.id'))
+    tweet_source = relationship("TweetSource", backref="tweet")
     entity_list = relationship(Entity, backref='tweet')
     received_at = Column(DateTime, default=datetime.datetime.now())
-    
-    #user = relationship(User, primaryjoin=user_id == User.id)
-    
+        
     def __init__(self, **kwargs):
         for key, value in kwargs.items():
             if hasattr(self,key):
@@ -81,11 +108,11 @@
 
     id = Column(Integer, primary_key = True)
     user_id = Column(Integer, ForeignKey('tweet_user.id'))
+    user = relationship("User", backref="messages")
     created_at = Column(DateTime, default=datetime.datetime.now())
     message_id = Column(Integer, ForeignKey('tweet_message.id'))
 
 class Message(Base):
-    
     __tablename__ = "tweet_message"
     
     id = Column(Integer, primary_key = True)
@@ -131,8 +158,6 @@
     url= Column(String)
     utc_offset = Column(Integer)
     verified= Column(Boolean)
-    tweets = relationship(Tweet, backref='user')
-    messages  = relationship(UserMessage, backref='user')
 
     def __init__(self, **kwargs):
         for key, value in kwargs.items():