Ejemplo n.º 1
0
class Sentiment(db.Model):
    __tablename__ = 'sentiment'

    id = db.Column(db.Integer, primary_key=True)
    type = db.Column(db.String(32))
    timeline_headline = db.Column(db.Text, db.ForeignKey('timeline.headline'))
    timeline = db.relationship('Timeline',
                               backref='sentiment',
                               cascade='all, delete')

    def __repr__(self):
        return f"Sentiment {self.id}, {self.type}"
Ejemplo n.º 2
0
class User(db.Model):
    __tablename__: 'user'

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), nullable=False)
    location = db.Column(db.String(64))
    timelines = db.relationship('Timeline',
                                backref='user',
                                cascade='all, delete')

    def __repr__(self):
        return f"User {self.id}, {self.username}"
Ejemplo n.º 3
0
class Company(db.Model):
    __tablename__ = 'company'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(30), unique=True, nullable=False)
    base_url = db.Column(db.String(100), unique=True)
    html_element = db.Column(db.String(20), nullable=False)
    element_class = db.Column(db.String(50))
    html_label = db.Column(db.String(20))
    label_class = db.Column(db.String(50))
    news = db.relationship('News', backref='author', lazy=True)

    def __repr__(self) -> str:
        return f'Company({self.name}, {self.base_url})'
Ejemplo n.º 4
0
class News(db.Model, Serializer):
    __tablename__ = "News"
    url = db.Column(db.String(256), primary_key=True)
    source_id = db.Column(db.Integer, db.ForeignKey('NewsSource.id', ondelete='CASCADE'), primary_key=True)
    source = db.relationship('NewsSource')
    title = db.Column(db.String(512))
    abstract = db.Column(db.String(2048))
    image_url = db.Column(db.String(256))
    date = db.Column(db.Date, index=True)

    def serialize(self):
        d = Serializer.serialize(self)
        d['source'] = self.source.name
        return d
Ejemplo n.º 5
0
class NewsSource(db.Model, Serializer):
    __tablename__ = "NewsSource"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    url = db.Column(db.String(1024), nullable=False)
    name = db.Column(db.String(1024), nullable=False)
    uw_style = db.Column(db.Boolean, nullable=False)
    category_id = db.Column(db.Integer, db.ForeignKey('NewsCategory.id', ondelete='CASCADE'))
    category = db.relationship('NewsCategory', backref=db.backref('sources'))

    def serialize(self):
        exclude = ['url', 'uw_style', 'category_id', 'category']
        d = Serializer.serialize(self)
        [d.pop(attr, None) for attr in exclude]
        return d
Ejemplo n.º 6
0
class User(db.Model, UserMixin):

    user_id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(60), nullable=False, unique=True)
    password = db.Column(db.String(130), nullable=False)
    is_admin = db.Column(db.Boolean, default=False)
    news = db.relationship('News')

    # get the id of the user (need to return id as inheriting UserMixin)
    def get_id(self):
        return f'{self.user_id}'

    # store the password in hashed format
    def set_password(self, password):
        self.password = generate_password_hash(password, method='sha256')

    # check the password and stored hashed password
    def get_password(self, password):
        return check_password_hash(self.password, password)
Ejemplo n.º 7
0
class Category(db.Model):

    category_name = db.Column(db.String(30), primary_key=True)
    news = db.relationship('News', secondary=news_category)