class Video(db.Model): __tablename__ = "videos" id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(30)) path = db.Column(db.String(120), default="") desc = db.Column(db.String(400), default="") author_id = db.Column(db.Integer, db.ForeignKey("users.id")) has_voted = db.Column(db.Boolean, default=False) is_owner = db.Column(db.Boolean, default=False) votes = db.relationship("Vote") created_date = db.Column(db.DateTime, default=datetime.datetime.utcnow()) updated_date = db.Column(db.DateTime, default=datetime.datetime.utcnow()) tags = db.relationship('Tag', secondary=videotags) def __init__(self, title="", path="", desc="", tags=tags): self.title = title self.path = path self.desc = desc self.created_date = datetime.datetime.utcnow() def add_tags(self, tag_names): for tag_name in list(set(tag_names)): t = Tag.get_or_create(tag_name) self.tags.append(t) db.session.add(t) db.session.commit() def vote_up(self, user_id): vote = Vote() vote.user_id = user_id self.votes.append(vote) db.session.add(vote) db.session.commit() def save(self): try: db.session.add(self) db.session.commit() except: db.session.flush() db.session.rollback() def __repr__(self): return "<Video id:{0} title:{1} voted:{2}>".format( self.id, self.title, self.has_voted) @classmethod def load(cls, new_db): """ change db for production """ global db db = new_db
class Tag(db.Model): __tablename__ = "tags" id = db.Column(db.Integer, primary_key=True) # videos = db.relationship('Video', secondary=videotags) title = db.Column(db.String(30)) videos = db.relationship("Video", secondary=videotags) def __init__(self, title): self.title = title def __repr__(self): return "<Tag:{0},title:{1}>".format(self.id, self.title) @classmethod def get_or_create(cls, tag_name): t = db.session.query(Tag).filter_by(title=tag_name).first() if t is None: t = Tag(tag_name) try: db.session.add(t) db.session.commit() except: print("err") db.session.flush() db.session.rollback() return t
class User(db.Model): __tablename__ = "users" id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(80), unique=True) name = db.Column(db.String(30)) videos = db.relationship("Video") def __init__(self, name, email): self.name = name self.email = email def save(self): try: db.session.add(self) db.session.commit() except: db.session.flush() db.session.rollback() print(self.id) @classmethod def load(cls, new_db): """ change db for production """ global db db = new_db
class Broker(IDModel): event_target = "ctl00$DefaultContent$RadGridLists$ctl00$ctl06$ctl00" target_file = "Entities.txt" legal_name = db.Column(db.String(100), nullable=True) phone = db.Column(db.String(20), nullable=False) fax = db.Column(db.String(20), nullable=True) address1 = db.Column(db.String(75), nullable=False) address2 = db.Column(db.String(75), nullable=True) city = db.Column(db.String(50), nullable=False) zip = db.Column(db.Integer, nullable=False) state = db.Column(db.String(2), nullable=False) realtors = db.relationship("Realtor")
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(254), nullable=False, unique=True, index=True) password = db.Column(db.String(60)) name = db.Column(db.String(254), nullable=False, default="", server_default="") email = db.Column(db.String(254), nullable=False, default="", server_default="") active = db.Column(db.Boolean, nullable=False, default=False, server_default=expression.true()) groups = db.relationship(Group, lambda: user_group, backref=db.backref("users"))
class User(db.Model): __tablename__ = "users" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(30)) videos = db.relationship("Video") description = db.Column(db.String(140))