script/lib/iri_tweet/models.py
changeset 242 cdd7d3c0549c
parent 122 4c3a15877f80
child 243 9213a63fa34a
equal deleted inserted replaced
240:ee6305b4a7dc 242:cdd7d3c0549c
    40     def __init__(self, **kwargs):
    40     def __init__(self, **kwargs):
    41         for key, value in kwargs.items():
    41         for key, value in kwargs.items():
    42             if hasattr(self,key):
    42             if hasattr(self,key):
    43                 setattr(self,key,value)
    43                 setattr(self,key,value)
    44 
    44 
    45 
    45 class TweetSource(Base):
       
    46     __tablename__ = 'tweet_tweet_source'
       
    47     id = Column(Integer, primary_key = True, autoincrement=True)
       
    48     original_json = Column(String)
       
    49     received_at = Column(DateTime, default=datetime.datetime.now())
       
    50     
       
    51     def __init__(self, **kwargs):
       
    52         for key, value in kwargs.items():
       
    53             if hasattr(self,key):
       
    54                 setattr(self,key,value)
       
    55 
       
    56 
       
    57 class TweetLog(Base):
       
    58     
       
    59     TWEET_STATUS = {
       
    60         'OK' : 1,
       
    61         'ERROR' : 2,
       
    62     }
       
    63     
       
    64     __tablename__ = 'tweet_tweet_log'
       
    65     id = Column(Integer, primary_key = True, autoincrement=True)
       
    66     tweet_source_id = Column(Integer, ForeignKey('tweet_tweet_source.id'))
       
    67     tweet_source = relationship("TweetSource", backref="logs")
       
    68     status = Column(Integer)
       
    69     error = Column(String)
       
    70     error_stack = Column(String)
       
    71  
       
    72     
    46 class Tweet(Base):
    73 class Tweet(Base):
    47     __tablename__ = 'tweet_tweet'
    74     __tablename__ = 'tweet_tweet'
    48 
    75 
    49     id = Column(BigInteger, primary_key=True, autoincrement=False)
    76     id = Column(BigInteger, primary_key=True, autoincrement=False)
    50     id_str = Column(String)
    77     id_str = Column(String)
    63     retweeted = Column(Boolean)
    90     retweeted = Column(Boolean)
    64     source = Column(String)
    91     source = Column(String)
    65     text = Column(String)
    92     text = Column(String)
    66     truncated = Column(Boolean)
    93     truncated = Column(Boolean)
    67     user_id = Column(Integer, ForeignKey('tweet_user.id'))
    94     user_id = Column(Integer, ForeignKey('tweet_user.id'))
    68     original_json = Column(String)
    95     user = relationship("TweetUser", backref="tweets")
       
    96 #    original_json = Column(String)
       
    97     tweet_source_id = Column(Integer, ForeignKey('tweet_tweet_source.id'))
       
    98     tweet_source = relationship("TweetSource", backref="tweet")
    69     entity_list = relationship(Entity, backref='tweet')
    99     entity_list = relationship(Entity, backref='tweet')
    70     received_at = Column(DateTime, default=datetime.datetime.now())
   100     received_at = Column(DateTime, default=datetime.datetime.now())
    71     
   101     
    72     #user = relationship(User, primaryjoin=user_id == User.id)
   102     #user = relationship(User, primaryjoin=user_id == User.id)
    73     
   103     
    79 class UserMessage(Base):
   109 class UserMessage(Base):
    80     __tablename__ = "tweet_user_message"
   110     __tablename__ = "tweet_user_message"
    81 
   111 
    82     id = Column(Integer, primary_key = True)
   112     id = Column(Integer, primary_key = True)
    83     user_id = Column(Integer, ForeignKey('tweet_user.id'))
   113     user_id = Column(Integer, ForeignKey('tweet_user.id'))
       
   114     user = relationship("TweetUser", backref="messages")
    84     created_at = Column(DateTime, default=datetime.datetime.now())
   115     created_at = Column(DateTime, default=datetime.datetime.now())
    85     message_id = Column(Integer, ForeignKey('tweet_message.id'))
   116     message_id = Column(Integer, ForeignKey('tweet_message.id'))
    86 
   117 
    87 class Message(Base):
   118 class Message(Base):
    88     
       
    89     __tablename__ = "tweet_message"
   119     __tablename__ = "tweet_message"
    90     
   120     
    91     id = Column(Integer, primary_key = True)
   121     id = Column(Integer, primary_key = True)
    92     created_at = Column(DateTime, default=datetime.datetime.now())
   122     created_at = Column(DateTime, default=datetime.datetime.now())
    93     text = Column(String)
   123     text = Column(String)