class Nicoru(db.Model): """擬似ニコる情報""" video_id = db.Column(db.String(100), primary_key=True) comment_id = db.Column(db.String(100), primary_key=True) nicoru = db.Column(db.Integer) def __repr__(self): return '<Nicoru {}-{}>'.format(self.video_id, self.comment_id)
class JobLog(db.Model): """ジョブログ""" type = db.Column(db.Enum(JobLogType), primary_key=True) status = db.Column(db.Enum(JobLogStatus), nullable=True) updated_at = db.Column(db.TIMESTAMP, default=datetime.now, onupdate=datetime.now, nullable=False) def __repr__(self): return '<JobLog {} {}>'.format(self.type, self.updated_at)
class Video(db.Model): """動画の正規情報""" id = db.Column(db.String(100), primary_key=True) title = db.Column(db.String(300)) thumbnail = db.Column(db.String(200)) posted_at = db.Column(db.DateTime) length = db.Column(db.String(10)) watch_url = db.Column(db.String(300)) posted_by = db.Column(db.String(30)) posted_by_name = db.Column(db.String(200)) updated_at = db.Column(db.TIMESTAMP, default=datetime.now, onupdate=datetime.now, nullable=False) def __repr__(self): return '<Video {}>'.format(self.id)
class Comment(db.Model): """コメントの正規情報""" id = db.Column(db.String(100), primary_key=True) video_id = db.Column(db.String(100), primary_key=True) text = db.Column(db.String(300)) posted_at = db.Column(db.DateTime) posted_by = db.Column(db.String(100)) point = db.Column(db.String(10)) was_deleted = db.Column(db.Boolean) official_nicoru = db.Column(INTEGER(unsigned=True)) updated_at = db.Column(db.TIMESTAMP, default=datetime.now, onupdate=datetime.now, nullable=False) def __repr__(self): return '<Comment {}>'.format(self.id)
class IrregularCommentId(db.Model): """irregular (could not get regular data of it) comment id""" video_id = db.Column(db.String(100), primary_key=True) comment_id = db.Column(db.String(100), primary_key=True)
class IrregularVideoId(db.Model): """irregular video id""" video_id = db.Column(db.String(100), primary_key=True)