diff -r 2ebf22c65168 -r e9335ee3cf71 script/lib/iri_tweet/models.py --- 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():