コード例 #1
0
ファイル: models.py プロジェクト: stelega/Project_IO
class MovieModel(db.Model):
    __tablename__ = 'movie'

    movieId = db.Column(UUID(as_uuid=True),
                        primary_key=True,
                        default=uuid.uuid4,
                        unique=True,
                        nullable=False)
    title = db.Column(db.String(length=120))
    director = db.Column(db.String(length=80))
    releaseDate = db.Column(db.Date)
    closeDate = db.Column(db.Date)
    ageCategory = db.Column(db.String(length=40))
    movieCategory = db.Column(db.String(length=80))
    duration = db.Column(db.Integer)
    seances = db.relationship("SeanceModel", backref="movie")

    def __init__(self,
                 _id=None,
                 title=None,
                 director=None,
                 releaseDate=None,
                 closeDate=None,
                 ageCategory=None,
                 movieCategory=None,
                 duration=None):
        self.id = _id or id
        self.title = title
        self.director = director
        self.releaseDate = releaseDate
        self.closeDate = closeDate
        self.ageCategory = ageCategory
        self.movieCategory = movieCategory
        self.duration = duration
コード例 #2
0
ファイル: models.py プロジェクト: stelega/Project_IO
class EmployeeModel(db.Model):
    __tablename__ = 'employee'

    employeeId = db.Column(UUID(as_uuid=True),
                           primary_key=True,
                           default=uuid.uuid4,
                           unique=True,
                           nullable=False)
    name = db.Column(db.String(length=80))
    surname = db.Column(db.String(length=80))
    login = db.Column(db.String(length=80))
    password = db.Column(db.String(length=80))
    isAdmin = db.Column(db.Boolean)

    def __init__(self,
                 _id=None,
                 name=None,
                 surname=None,
                 login=None,
                 password=None,
                 isAdmin=False):
        self.id = _id or id
        self.name = name
        self.surname = surname
        self.login = login
        self.password = password
        self.isAdmin = isAdmin

    def __repr__(self):
        return f"<User {self.name} + {self.surname}"
コード例 #3
0
class Company(db.Model):
    __tablename__ = 'company'

    id_ = db.Column(db.Integer, primary_key=True)
    symbol = db.Column(db.String(50), unique=True)
    company_name = db.Column(db.String(50), unique=True)
    industry = db.Column(db.String(50))
    volatility = db.Column(db.String(20))

    def __init__(self, symbol, company_name, industry, volatility):
        self.symbol = symbol
        self.company_name = company_name
        self.industry = industry
        self.volatility = volatility

    def __repr__(self):
        return "Get Company: {}!".format(self.symbol)

    def to_json(self):
        return {
            'id_': self.id_,
            'symbol': self.symbol,
            'company_name': self.company_name,
            'industry': self.industry,
            'volatility': self.volatility
        }
コード例 #4
0
class SensorRooms(db.Model):
    sensor_id = db.Column(db.String(100), primary_key=True)
    room = db.Column(db.String(50), primary_key=True)

    def __init__(self, sensor_id, room):
        self.sensor_id = sensor_id
        self.room = room

    def __repr__(self):
        return '<Room: %r, Sensor ID: %r>' % (self.room, self.sensor_id)
コード例 #5
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index=True, unique=True)
    password_hash = db.Column(db.String(128))
    # Relationship User <--> Post
    posts = db.relationship('Post', backref='author', lazy='dynamic')

    def __repr__(self):
        return '<User {}>'.format(self.username)
コード例 #6
0
class PhoneToken(db.Model):
    token = db.Column(db.String(100), primary_key=True)
    router_id = db.Column(db.String(30))

    def __init__(self, token, router_id):
        self.router_id = router_id
        self.token = token

    def __repr__(self):
        return '<PhoneToken: ' + str(self.token) + ', Router: ' + str(
            self.router_id) + '>'
コード例 #7
0
class Uv(db.Model):
    router_id = db.Column(db.String(30), primary_key=True)
    sensor_id = db.Column(db.String(100), primary_key=True)
    timestamp = db.Column(db.Integer, primary_key=True)
    value = db.Column(db.Integer, primary_key=True)

    def __init__(self, router_id, sensor_id, timestamp, value):
        self.router_id = router_id
        self.sensor_id = sensor_id
        self.timestamp = timestamp
        self.value = value
コード例 #8
0
class RouterSensors(db.Model):
    router_id = db.Column(db.String(20), primary_key=True)
    sensor_id = db.Column(db.String(100), primary_key=True)

    def __init__(self, router_id, sensor_id):
        self.router_id = router_id
        self.sensor_id = sensor_id

    def __repr__(self):
        return '<Router: ' + str(self.router_id) + ', Sensor: ' + str(
            self.sensor_id) + '>'
コード例 #9
0
class Users(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(40), unique=True)
    password = db.Column(db.String(40))
    is_admin = db.Column(db.Integer)

    def __init__(self, username, password):
        self.username = username
        self.password = password
        self.is_admin = 0

    def __repr__(self):
        return '<User: %r>' % self.username
コード例 #10
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_name = db.Column(db.String(80), nullable=False)
    user_email = db.Column(db.String(120), unique=True, nullable=False)
    user_password = db.Column(db.String(120), nullable=False)
    user_style = db.Column(db.Integer, default=0)
    user_company_selection = db.Column(db.String)

    def __init__(self, **kwargs):
        super(User, self).__init__(**kwargs)

    def __repr__(self):
        return '<User %r>' % self.user_name
コード例 #11
0
class Actuator(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    actuator_id = db.Column(db.String(20), unique=True)
    type = db.Column(db.String(20), nullable=False)
    functions = db.Column(db.Text, nullable=False)
    router_id = db.Column(db.String(20), nullable=False)

    def __init__(self, actuator_id, router_id, type, functions):
        self.actuator_id = actuator_id
        self.type = type
        self.functions = functions
        self.router_id = router_id

    def __repr__(self):
        return '<Actuator: ' + str(self.type) + ', ID: ' + str(
            self.actuator_id) + ', Router: ' + str(self.router_id) + '>'
コード例 #12
0
class StockPrice(db.Model):
    __tablename__ = 'price'

    id_ = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.Date)
    high = db.Column(db.Float(precision=4))
    low = db.Column(db.Float(precision=4))
    open_ = db.Column(db.Float(precision=4))
    close = db.Column(db.Float(precision=4))
    vol = db.Column(db.Integer)
    adj_close = db.Column(db.Float(precision=4))
    comp = db.Column(db.String(20))

    def __init__(self, date, high, low, open_, close, vol, adj_close, comp):
        self.date = date
        self.high = high
        self.low = low
        self.open_ = open_
        self.close = close
        self.vol = vol
        self.adj_close = adj_close
        self.comp = comp

    def __repr__(self):
        return "Stock Price ('{}', '{}', '{}', '{}')".format(
            self.date, self.vol, self.close, self.comp)

    @classmethod
    def find_all_by_query(cls, comp):
        return cls.query.filter_by(comp=comp).all()
コード例 #13
0
ファイル: Comment.py プロジェクト: Vncntmrchl/IMT-DCL-WEB
class Comment(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.String(100), nullable=False)
    timestamp = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'), nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)  # Author
    username = db.Column(db.String, nullable=False)  # Author, easier for username display, no circular import
コード例 #14
0
ファイル: models.py プロジェクト: stelega/Project_IO
class HallModel(db.Model):
    __tablename__ = 'hall'

    hallId = db.Column(UUID(as_uuid=True),
                       primary_key=True,
                       default=uuid.uuid4,
                       unique=True,
                       nullable=False)
    name = db.Column(db.String(length=80), unique=True, nullable=True)
    numOfSeats = db.Column(db.Integer)
    rows = db.Column(db.Integer)
    seatsPerRow = db.Column(db.Integer)
    availability = db.Column(db.Boolean)

    seances = db.relationship("SeanceModel", backref="hall")
    seats = db.relationship("SeatModel", backref="hall", cascade="all,delete")

    def __init__(self,
                 _id=None,
                 name=None,
                 rows=None,
                 seatsPerRow=None,
                 availability=True,
                 numOfSeats=None):
        self.id = _id or id
        self.name = name
        self.numOfSeats = rows * seatsPerRow
        self.rows = rows
        self.seatsPerRow = seatsPerRow
        self.availability = availability
コード例 #15
0
class ItemImage(db.Model):
    __tablename__ = 'item_image'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    item_id = db.Column(
        db.Integer,
        db.ForeignKey('item.id', onupdate='CASCADE', ondelete='CASCADE'))
    url = db.Column(db.String(255), nullable=False)
    created_at = db.Column(db.DateTime, nullable=False, default=datetime.now)
    updated_at = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.now,
                           onupdate=datetime.now)

    def __init__(self, url='', item_id=None):
        self.url = url
        self.item_id = item_id

    def postRecord(self):
        db.session.add(self)
        db.session.commit()
        db.session.refresh(self)
        return self

    @classmethod
    def getImage(cls, image_id):
        record = cls.query.filter_by(id=image_id).first()
        return record


# class ItemImageSchema(ma.SQLAlchemyAutoSchema):
#     class Meta:
#         model = ItemImage
#         # load_instance = True
コード例 #16
0
class Warnings(db.Model):
    w_id = db.Column(db.Integer, primary_key=True)
    w_level = db.Column(db.Integer)
    w_msg = db.Column(db.String(400))
    w_time = db.Column(db.BigInteger)
    originType = db.Column(db.String(40))
    originName = db.Column(db.String(40))

    def __init__(self, w_level, w_msg, w_time, originType, originName):
        self.w_level = w_level
        self.w_msg = w_msg
        self.w_time = w_time
        self.originType = originType
        self.originName = originName

    def __repr__(self):
        return '<Warning: %r>' % self.originName
コード例 #17
0
class Auth(db.Model):
    __tablename__ = 'auth'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    user_id = db.Column(
        db.Integer,
        db.ForeignKey('user.id', onupdate='CASCADE', ondelete='CASCADE'))
    email = db.Column(db.String(50), unique=True, nullable=False)
    password = db.Column(db.String(300), nullable=False)
    created_at = db.Column(db.DateTime, nullable=False, default=datetime.now)
    updated_at = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.now,
                           onupdate=datetime.now)

    def __init__(self, user_id='', email='', password=''):
        self.user_id = user_id
        self.email = email
        self.password = hashlib.sha256(password.encode('utf-8')).hexdigest()

    def setAttr(self, user_id='', email='', password=''):
        self.user_id = user_id
        self.email = email
        self.password = hashlib.sha256(password.encode('utf-8'))

    def postRecord(self):
        db.session.add(self)
        db.session.commit()
        return

    @classmethod
    def getRecordsAll(cls):
        records = cls.query.all()
        return records

    @classmethod
    def getRecordByEmail(cls, email):
        record = cls.query.filter_by(email=email).first()
        return record

    @classmethod
    def getRecordsByUserId(cls, user_id):
        record = cls.query.filter_by(user_id=user_id).first()
        return record
コード例 #18
0
class RouterAuthUsers(db.Model):
    router_id = db.Column(db.String(40), primary_key=True)
    user_id = db.Column(db.Integer, primary_key=True)

    def __init__(self, router_id, user_id):
        self.router_id = router_id
        self.user_id = user_id

    def __repr__(self):
        return '<Router: %s, Users: %s>' % (self.router_id, str(self.user_id))
コード例 #19
0
class User(UserMixin, db.Model):
    """User account model."""

    __tablename__ = 'Users'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False, unique=False)
    email = db.Column(EmailType)
    password = db.Column(db.String(200),
                         primary_key=False,
                         unique=False,
                         nullable=False)

    phone_number = db.Column(PhoneNumberType())

    created_on = db.Column(db.DateTime,
                           index=False,
                           unique=False,
                           nullable=True)

    last_login = db.Column(db.DateTime,
                           index=False,
                           unique=False,
                           nullable=True)

    def set_number(self, phone_number):
        """return user number"""
        self.phone_number = phone_number

    def get_number(self):
        """return user number"""
        return self.phone_number

    def set_password(self, password):
        """Create hashed password."""
        self.password = generate_password_hash(password, method='sha256')

    def check_password(self, password):
        """Check hashed password."""
        return check_password_hash(self.password, password)

    def __repr__(self):
        return '<User {}>'.format(self.name)
コード例 #20
0
class UserRouters(db.Model):
    router_id = db.Column(db.String(20), primary_key=True)
    user_id = db.Column(db.Integer, primary_key=True)

    def __init__(self, router_id, user_id):
        self.router_id = router_id
        self.user_id = user_id

    def __repr__(self):
        return '<Router: ' + str(self.router_id) + ', User: '******'>'
コード例 #21
0
class Sensor(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    sensor_id = db.Column(db.String(100), unique=True)
    config = db.Column(db.Integer, nullable=False)

    def __init__(self, sensor_id, config):
        self.sensor_id = sensor_id
        self.config = config

    def __repr__(self):
        return '<Sensor: ' + str(self.sensor_id) + ', Config: ' + str(
            self.config) + '>'
コード例 #22
0
class Router(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    router_id = db.Column(db.String(20), unique=True)
    last_heard = db.Column(db.Integer)

    def __init__(self, router_id):
        self.router_id = router_id
        self.last_heard = 0

    def __repr__(self):
        return '<Router: ' + str(self.router_id) + ', LP: ' + str(
            self.last_heard) + '>'
コード例 #23
0
ファイル: models.py プロジェクト: stelega/Project_IO
class AgeCategoryModel(db.Model):
    __tablename__ = 'age_category'

    ageCategoryId = db.Column(UUID(as_uuid=True),
                              primary_key=True,
                              default=uuid.uuid4,
                              unique=True,
                              nullable=False)
    name = db.Column(db.String(length=80), unique=True, nullable=False)

    def __init__(self, _id=None, name=None):
        self.id = _id
        self.name = name
コード例 #24
0
class User(db.Model, UserMixin):
    # db.Model is necessary to store data in the database
    # UserMixin is here to use a standard model for login and sessions
    # email and username must be unique and have a maximum length
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(25), unique=True)
    username = db.Column(db.String(20), unique=True)
    password = db.Column(db.String(100))
    posts = db.relationship('Post', backref='author', lazy='dynamic')
    followed = db.relationship('User',
                               secondary=followers,
                               primaryjoin=(followers.c.follower_id == id),
                               secondaryjoin=(followers.c.followed_id == id),
                               backref=db.backref('followers', lazy='dynamic'),
                               lazy='dynamic')

    def follow(self, user):
        if not self.is_following(user):
            self.followed.append(user)
            db.session.commit()
            return self

    def unfollow(self, user):
        if self.is_following(user):
            self.followed.remove(user)
            db.session.commit()
            return self

    def is_following(self, user):
        return self.followed.filter(
            followers.c.followed_id == user.id).count() > 0

    def followed_posts(self):
        # To get the list of all posts made by people the current user follows
        return db.session.query(Post).join(
            followers, (followers.c.followed_id == Post.user_id)).filter(
                followers.c.follower_id == self.id).order_by(Post.date.desc())
コード例 #25
0
class Address(db.Model):
    __tablename__ = 'address'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    postal_code = db.Column(db.Integer, nullable=False)
    prefecture = db.Column(db.String(50))
    municipalities = db.Column(db.String(255), nullable=False)
    other = db.Column(db.String(255))
    created_at = db.Column(db.DateTime, nullable=False, default=datetime.now)
    updated_at = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.now,
                           onupdate=datetime.now)

    def __init__(self,
                 postal_code='',
                 prefecture='',
                 city='',
                 municipalities='',
                 other=''):
        self.postal_code = postal_code
        self.prefecture = prefecture
        self.city = city
        self.municipalities = municipalities
        self.other = other

    def postRecord(self):
        db.session.add(self)
        db.session.commit()
        return {
            'id': self.id,
            'postal_code': self.postal_code,
            'prefecture': self.prefecture,
            'city': self.city,
            'municipalities': self.municipalities,
            'other': self.other
        }
コード例 #26
0
ファイル: tag.py プロジェクト: bonybody/agri
class Tag(db.Model):
    __tablename__ = 't_tag'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    code = db.Column(db.String(255))
    created_at = db.Column(db.DateTime, nullable=False, default=datetime.now)
    updated_at = db.Column(db.DateTime, nullable=False, default=datetime.now, onupdate=datetime.now)

    def __init__(self, code):
        self.code = code

    @classmethod
    def getUserInfo(cls, user_id):
        record = cls.query.filter_by(id=user_id).first()
        return {
            'id': record.id,
            'image': record.image,
            'display_name': record.display_name
        }
コード例 #27
0
ファイル: category.py プロジェクト: bonybody/agri
class Category(db.Model):
    __tablename__ = 'category'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), nullable=False)
    created_at = db.Column(db.DateTime, nullable=False, default=datetime.now)
    updated_at = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.now,
                           onupdate=datetime.now)
    items = db.relationship('Item', backref='category')

    def __init__(self, name='', category_id=1):
        self.name = name
        self.id = category_id

    def setAttr(self, name=''):
        self.name = name

    def postRecord(self):
        db.session.add(self)
        db.session.commit()
        return self

    @classmethod
    def getCategory(cls, category_id):
        record = cls.query.filter_by(id=category_id).first()
        return record

    @classmethod
    def addTestData(cls):
        categories = []
        data_lists = {1: '米・穀物', 2: '野菜', 3: '果物', 4: 'その他'}
        for k, v in data_lists.items():
            categories.append(cls(name=v, category_id=k))

        db.session.add_all(categories)
        db.session.commit()


# class CategorySchema(ma.SQLAlchemyAutoSchema):
#     class Meta:
#         model = Category
コード例 #28
0
class RemainingFormat(db.Model):
    __tablename__ = 'remaining_format'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(255), nullable=False)
    created_at = db.Column(db.DateTime, nullable=False, default=datetime.now)
    updated_at = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.now,
                           onupdate=datetime.now)
    item = db.relationship('Item', backref='remaining_format')

    def __init__(self, name='', format_id=1):
        self.name = name
        self.id = format_id

    def setAttr(self, name=''):
        self.name = name

    def postRecord(self):
        db.session.add(self)
        db.session.commit()
        return self

    @classmethod
    def getRecord(cls, category_id):
        record = cls.query.filter_by(id=category_id).first()
        return record

    @classmethod
    def addTestData(cls):
        models = []
        data_lists = {1: 'whole', 2: 'day', 3: 'week', 4: 'month'}
        for k, v in data_lists.items():
            models.append(cls(format_id=k, name=v))

        db.session.add_all(models)
        db.session.commit()
コード例 #29
0
class Koe(db.Model):
    __tablename__ = 'koe'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(25), nullable=False)
    text = db.Column(db.Text, nullable=False)
    created_at = db.Column(db.DateTime, nullable=False, default=datetime.now)
    updated_at = db.Column(db.DateTime, nullable=False, default=datetime.now, onupdate=datetime.now)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id', onupdate='CASCADE', ondelete='CASCADE'))
    item_id = db.Column(db.Integer, db.ForeignKey('item.id', onupdate='CASCADE', ondelete='CASCADE'))
    item = db.relationship('Item', primaryjoin='Koe.item_id==Item.id', backref='koes')
    favorites = db.relationship('KoeFavorite', backref='koe')

    def __init__(self, title='', text='', user_id='', item_id=''):
        self.title = title
        self.text = text
        self.user_id = user_id
        self.item_id = item_id

    def postRecord(self):
        db.session.add(self)
        db.session.commit()
        return self

    @classmethod
    def getRecordById(cls, koe_id):
        record = cls.query.filter_by(id=koe_id).first()
        return record

    @classmethod
    def getRecordsBySearch(cls, args):
        records = cls.query
        for k, v in args.items():
            if (k == 'text'):
                records = records.filter(or_(cls.title.like('%' + v + '%'),
                                  cls.text.like('%' + v + '%')))
            if (k == 'order_by'):
                order_by = v

                if (int(v) == 1):
                    current_app.logger.debug(order_by)
                    records = records.order_by(desc(cls.updated_at))


        records = records.all()
        return records

    @classmethod
    def getRecordsByItem(cls, item_id):
        record = cls.query.filter_by(item_id=item_id).order_by(desc(cls.updated_at)).all()
        return record

    @classmethod
    def getRecordsByPostUser(cls, user_id):
        record = cls.query.filter_by(user_id=user_id).order_by(desc(cls.updated_at)).all()
        return record

    @classmethod
    def getRecordsByCatchUser(cls, user_id):
        record = cls.query.filter(cls.item.has(user_id=user_id)).order_by(desc(cls.updated_at)).all()
        return record

    @classmethod
    def getRecordsByNew(cls):
        record = cls.query.order_by(desc(cls.updated_at)).all()
        return record

    @classmethod
    def addTestData(cls):
        categories = []
        data_lists = ['grain', 'vegetable', 'fruit', 'other']
        for data in data_lists:
            categories.append(cls(data))

        db.session.add_all(categories)
        db.session.commit()
コード例 #30
0
ファイル: models.py プロジェクト: samsimsom/PYTHON
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(150))
    email = db.Column(db.String(150), unique=True)
    password = db.Column(db.String(150))