Пример #1
0
class Members(Base):

    __tablename__ = 'Members'

    memberIdIndex = Column(INTEGER(unsigned=True),
                           primary_key=True,
                           autoincrement=True,
                           nullable=False)
    memberId = Column(VARCHAR(255), nullable=False, unique=True)
    password = Column(VARCHAR(1024), nullable=False)
    memberName = Column(VARCHAR(1024), nullable=False)
    contactNumber = Column(VARCHAR(20), nullable=True)
    emailAddress = Column(VARCHAR(1024), nullable=True)
    detailInformation = Column(VARCHAR(1024), nullable=True)
    authority = Column(SET(SETResources().const.ADMINISTRATOR,
                           SETResources().const.USER),
                       default=SETResources().const.USER,
                       nullable=False)
    limitedUseDate = Column(DATETIME, default=None, nullable=True)
    signedInDate = Column(DATETIME, nullable=False)
    lastAccessDate = Column(DATETIME, nullable=True)
    comment = Column(TEXT, nullable=True)
    isDeleted = Column(ENUM(ENUMResources().const.TRUE,
                            ENUMResources().const.FALSE),
                       default=ENUMResources().const.FALSE,
                       nullable=False)
Пример #2
0
class Tokens(db.Model):
    __tablename__ = 'tokens'
    id = db.Column(db.Integer, primary_key=True)
    token_hash = db.Column(db.String(63))
    name = db.Column(db.String(127))
    timestamp = db.Column(db.DateTime, default=datetime.datetime.now)
    scope = db.Column(SET('admin', 'read'), server_default=literal('read'))

    def __repr__(self):
        return '<Token %r>' % self.name
Пример #3
0
class DocumentModel(db.Model):
    __tablename__ = 'documents'
    __table_args__ = {'mysql_charset': 'utf8'}

    category_enum = ('Null', 'family', 'business', 'shopping', 'sports',
                     'food', 'entertain', 'hobby', 'tech', 'health')

    id = Column(INTEGER(20, unsigned=True), primary_key=True)
    username = Column(String(80), nullable=False)
    content = db.Column(LONGTEXT, nullable=False)
    category = db.Column(SET(*category_enum))
    created_date = Column(TIMESTAMP, default=datetime.datetime.utcnow())
Пример #4
0
class Courses(Base):
    __tablename__ = 'Courses'
    # TODO: update schema and this Courses class to follow snake_case convention
    id = Column(Integer, primary_key=True)
    dept = Column(String(5))
    courseNum = Column(Integer)
    termsOffered = Column(SET('F', 'W', 'SP', 'SU', 'TBD'))
    units = Column(String(5))
    courseName = Column(String(255))
    raw_concurrent_text = Column(Text)
    raw_recommended_text = Column(Text)
    raw_prerequisites_text = Column(Text)

    def __repr__(self):
        return "<Courses (dept={}, course_num={})>".format(
            self.dept, self.courseNum)
Пример #5
0
class Sections(Base):
    __tablename__ = "Sections"
    id_sections = Column(Integer, primary_key=True)
    section_name = Column(String(255))
    instructor = Column(String(255))
    alias = Column(String(255))
    title = Column(String(255))
    phone = Column(String(255))
    office = Column(String(255))
    type = Column(Enum(SectionType))
    days = Column(SET('M', 'T', 'W', 'R', 'F'))
    start = Column(String(255))
    end = Column(String(255))
    location = Column(String(255))
    department = Column(String(255))

    def __repr__(self):
        D = self.__dict__
        attributes = [
            f"{k}={D.get(k)}" for k in self.__dir__() if not k.startswith("_")
        ]
        attributes_string = ", ".join(attributes)
        return f"{self.__class__.__name__}({attributes_string})"
 def test_set_warning(self):
     SET("a", "b")
     with expect_deprecated_20(
         "The 'quoting' parameter to :class:`.mysql.SET` is deprecated.*"
     ):
         SET("a", quoting="foo")
Пример #7
0
class Champions(Base):
    __tablename__ = 'Champions'

    id = Column(Integer, primary_key=True, autoincrement=False)
    name = Column(String(50), nullable=False)
    champ_key = Column(String(50), nullable=False)
    rols = Column(SET("Fighter", "Assassin", "Mage", "Support", "Tank",
                      "Marksman"),
                  nullable=False)
    image_champion = Column(String(100), nullable=False)
    image_passive = Column(String(100), nullable=False)

    title = relationship("ChampionsTitles", lazy="dynamic")
    passive = relationship("PassivesTranslations", lazy="dynamic")
    spells = relationship("ChampionsSpells")
    skins = relationship("ChampionsSkins", lazy="dynamic")
    info = relationship("ChampionsInfo", uselist=False)
    ally_tips = relationship("ChampionAllyTips", lazy="dynamic")
    enemy_tips = relationship("ChampionEnemyTips", lazy="dynamic")

    def toJson(self, id_locale):
        version = Configuration.get_version("champion version")
        return {
            "id":
            self.id,
            "name":
            self.name,
            "image":
            riot_urls.CHAMPIONS_SQUARE_URL.format(version,
                                                  self.image_champion),
            "rols":
            list(self.rols),
            "title":
            self.get_title(id_locale),
            "passive":
            self.get_passive(id_locale, version),
            "spells":
            self.get_spells(id_locale, version),
            "skins":
            self.get_skins(id_locale),
            "info":
            self.get_info(),
            "ally_tips":
            self.get_ally_tips(id_locale),
            "enemy_tips":
            self.get_enemy_tips(id_locale)
        }

    def get_ally_tips(self, id_locale):
        """
        :param id_locale: id of the desired language
        :return: return a list of tips as strings
        """
        return [
            item.tip
            for item in self.ally_tips.filter_by(id_language=id_locale)
        ]

    def get_enemy_tips(self, id_locale):
        """
        :param id_locale: id of the desired language
        :return: return a list of tips as strings
        """
        return [
            item.tip
            for item in self.enemy_tips.filter_by(id_language=id_locale)
        ]

    def get_spells(self, id_locale, version):
        """
        :param id_locale: id of the desired language
        :return: return a list of spells as dictionaries
        """
        spells = []
        for spell in self.spells:
            item = spell.translations.filter_by(id_language=id_locale).one()
            data = {
                "image": riot_urls.ABILITIES_URL.format(version, spell.image),
                "name": item.name,
                "description": item.description
            }
            spells.append(data)

        return spells

    def get_skins(self, id_locale):
        """
        :param id_locale: id of the desired language
        :return: a list of skins as dictionaries
        """
        skins = []
        for skin in self.skins:
            data = {
                "image":
                riot_urls.CHAMPIONS_SPLASH_URL.format(self.champ_key,
                                                      skin.num),
                "name":
                skin.translations.filter_by(id_language=id_locale).one().name
            }
            skins.append(data)

        return skins

    def get_passive(self, id_locale, version):
        passive = self.passive.filter_by(id_language=id_locale).one()
        return {
            "name":
            passive.name,
            "description":
            passive.description,
            "image":
            riot_urls.PASSIVE_ABILITIES_URL.format(version, self.image_passive)
        }

    def get_title(self, id_locale):
        return self.title.filter_by(id_language=id_locale).one().title

    def get_info(self):
        return {
            "difficulty": self.info.difficulty,
            "attack": self.info.attack,
            "defense": self.info.defense,
            "magic": self.info.magic
        }