예제 #1
0
class University(db.Model, AutoSerialize, ExpandedAttr):

    __tablename__ = 'attrs_university'
    id = db.Column(db.String(8), primary_key=True)
    school_type_id = db.Column(db.String(1))
    school_type_en = db.Column(db.String(32))
    school_type_pt = db.Column(db.String(32))

    yu = db.relationship("Yu", backref='university', lazy='dynamic')
    yuc = db.relationship("Yuc", backref='university', lazy='dynamic')
    ybu = db.relationship("Ybu", backref='university', lazy='dynamic')
    ybuc = db.relationship("Ybuc", backref='university', lazy='dynamic')

    def icon(self):
        return "/static/img/icons/university/university_{}.png".format(
            self.school_type_id.lower())

    def school_type(self):
        lang = getattr(g, "locale", "en")
        return getattr(self, "school_type_" + lang)

    def url(self):
        return "/profiles/university/{}/".format(self.id)

    def __repr__(self):
        return '<University %r>' % (self.name_en)
예제 #2
0
class Short(db.Model):

    __tablename__ = 'apps_short'

    slug = db.Column(db.String(30), unique=True, primary_key=True)
    long_url = db.Column(db.String(255), unique=True)
    created = db.Column(db.DateTime, default=datetime.now)
    clicks = db.Column(db.Integer, default=0)

    @staticmethod
    def make_unique_slug(long_url):

        # Helper to generate random URL string
        # Thx EJF: https://github.com/ericjohnf/urlshort
        def id_generator(size=6, chars=string.ascii_uppercase + string.digits):
            return ''.join(random.choice(chars) for x in range(size))

        # test if it already exists
        short = Short.query.filter_by(long_url=long_url).first()
        if short:
            return short.slug
        else:
            while True:
                new_slug = id_generator()
                if Short.query.filter_by(slug=new_slug).first() == None:
                    break
            return new_slug

    def __repr__(self):
        return "<ShortURL: '%s'>" % self.long_url
예제 #3
0
class Wld(db.Model, AutoSerialize, BasicAttr):

    __tablename__ = 'attrs_wld'
    id = db.Column(db.String(5), primary_key=True)
    id_2char = db.Column(db.String(2))
    id_3char = db.Column(db.String(3))
    id_num = db.Column(db.Integer(11))
    id_mdic = db.Column(db.Integer(11))

    ymw = db.relationship("Ymw", backref='wld', lazy='dynamic')
    ympw = db.relationship("Ympw", backref='wld', lazy='dynamic')
    ymbw = db.relationship("Ymbw", backref='wld', lazy='dynamic')
    ymbpw = db.relationship("Ymbpw", backref='wld', lazy='dynamic')

    def icon(self):
        if self.id == "all":
            return "/static/img/icons/wld/wld_sabra.png"
        else:
            return "/static/img/icons/wld/wld_%s.png" % (self.id)

    def url(self):
        if self.id == "sabra":
            return "/profiles/bra/all/"
        else:
            return "/profiles/wld/{}/".format(self.id)

    def __repr__(self):
        return '<Wld %r>' % (self.id_3char)
예제 #4
0
class Flag(db.Model):

    __tablename__ = 'ask_reply_flag'
    reply_id = db.Column(db.Integer, db.ForeignKey(Reply.id), primary_key = True)
    user_id = db.Column(db.Integer, db.ForeignKey(User.id), primary_key = True)

    def __repr__(self):
        return '<Flag %r by user:%r>' % (self.reply_id, self.user_id)
예제 #5
0
class Yu(Hedu):

    __tablename__ = 'hedu_yu'

    year = db.Column(db.Integer(4), primary_key=True)
    university_id = db.Column(db.String(5), db.ForeignKey(University.id), primary_key=True)

    def __repr__(self):
        return '<Yu {}.{}>'.format(self.year, self.university_id)
예제 #6
0
class Yc_hedu(Hedu):
    __tablename__ = 'hedu_yc'
    year = db.Column(db.Integer(4), primary_key=True)
    course_hedu_id = db.Column(db.String(6), db.ForeignKey(Course_hedu.id), primary_key=True)

    course_hedu_id_len = db.Column(db.Integer(1))

    def __repr__(self):
        return '<Ybc {}.{}.{}>'.format(self.year, self.bra_id, self.course_hedu_id)
예제 #7
0
class Vote(db.Model):

    __tablename__ = 'ask_vote'
    type = db.Column(db.SmallInteger, primary_key = True, default=TYPE_QUESTION)
    type_id = db.Column(db.Integer, primary_key = True)
    user_id = db.Column(db.Integer, db.ForeignKey(User.id), primary_key = True)

    def __repr__(self):
        return '<Vote %r:%r by:%r>' % (self.type, self.type_id, self.user_id)
예제 #8
0
class Yb(db.Model, AutoSerialize):

    __tablename__ = 'attrs_yb'
    year = db.Column(db.Integer(4), primary_key=True)
    bra_id = db.Column(db.String(10), db.ForeignKey(Bra.id), primary_key=True)
    population = db.Column(db.Integer)

    def __repr__(self):
        return '<Yb %r.%r>' % (self.year, self.bra_id)
예제 #9
0
class Crosswalk_oc(db.Model):
    __tablename__ = 'crosswalk_oc'

    cbo_id = db.Column(db.String(4), db.ForeignKey(Cbo.id), primary_key = True)
    course_hedu_id = db.Column(db.String(6), db.ForeignKey(Course_hedu.id), primary_key = True)

    def get_id(self, dataset):
        if dataset == "rais":
            return self.course_hedu_id
        return self.cbo_id
예제 #10
0
class Crosswalk_pi(db.Model):
    __tablename__ = 'crosswalk_pi'

    hs_id = db.Column(db.String(6), primary_key=True)
    cnae_id = db.Column(db.String(5), primary_key=True)

    def get_id(self, dataset):
        if dataset == "rais":
            return self.hs_id
        return self.cnae_id
예제 #11
0
class KeyWord(db.Model):
    __tablename__ = 'scholar_keyword'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))

    def __init__(self, name=None):
        self.name = name

    def __repr__(self):
        return '<Keyword %r>' % (self.name)
예제 #12
0
class PostSubject(db.Model):
    __tablename__ = 'blog_subject'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))

    def __init__(self, name=None):
        self.name = name

    def __repr__(self):
        return '<PostSubject %r>' % (self.name)
예제 #13
0
class Starred(db.Model, AutoSerialize):

    __tablename__ = 'account_starred'
    app_id = db.Column(db.String(80), primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey(User.id), primary_key=True)
    app_name = db.Column(db.String(255))
    timestamp = db.Column(db.DateTime)

    def __repr__(self):
        return '<App %r starred by %r>' % (self.app_id, self.user.nickname)
예제 #14
0
class Yb_sc(Sc):
    __tablename__ = 'sc_yb'

    bra_id = db.Column(db.String(9), db.ForeignKey(Bra.id), primary_key=True)
    num_schools = db.Column(db.Integer(11))

    bra_id_len = db.Column(db.Integer(1))

    def __repr__(self):
        return '<Yb {0}.{1}>'.format(self.year, self.bra_id)
예제 #15
0
class Yc_sc(Sc):
    __tablename__ = 'sc_yc'

    course_sc_id = db.Column(db.String(5),
                             db.ForeignKey(Course_sc.id),
                             primary_key=True)

    course_sc_id_len = db.Column(db.Integer(1))

    def __repr__(self):
        return '<Ybc %d.%s.%s>' % (self.year, self.course_sc_id)
예제 #16
0
class Bs(db.Model, AutoSerialize):

    __tablename__ = 'attrs_bs'
    bra_id = db.Column(db.String(10), db.ForeignKey(Bra.id), primary_key=True)
    stat_id = db.Column(db.String(20),
                        db.ForeignKey(Stat.id),
                        primary_key=True)
    stat_val = db.Column(db.String(40))

    def __repr__(self):
        return "<Bs {}.{}>".format(self.bra_id, self.stat_id)
예제 #17
0
class Ybi_reqs(db.Model, AutoSerialize):

    __tablename__ = 'rais_ybi_required'
    year = db.Column(db.Integer(4), primary_key=True)
    bra_id = db.Column(db.String(8), db.ForeignKey(Bra.id), primary_key=True)
    cnae_id = db.Column(db.String(5), db.ForeignKey(Cnae.id), primary_key=True)

    required_bras = db.Column(db.String(255))

    def __repr__(self):
        return '<Ybi_reqs %d.%s.%s>' % (self.year, self.bra_id, self.cnae_id)
예제 #18
0
class AuthorScholar(db.Model):
    __tablename__ = 'scholar_author'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(500))
    article_id = db.Column(db.Integer, ForeignKey('scholar_article.id'))

    def __init__(self, name=None):
        self.name = name

    def __repr__(self):
        return '<AuthorScholar %r>' % (self.name)
예제 #19
0
class Yb_hedu(Hedu):

    __tablename__ = 'hedu_yb'

    year = db.Column(db.Integer(4), primary_key=True)
    bra_id = db.Column(db.String(9), db.ForeignKey(Bra.id), primary_key=True)
    num_universities = db.Column(db.Integer(11))

    bra_id_len = db.Column(db.Integer(1))

    def __repr__(self):
        return '<Yb {}.{}>'.format(self.year, self.bra_id)
예제 #20
0
class Ybo(BaseRais, db.Model, AutoSerialize):

    __tablename__ = 'rais_ybo'
    year = db.Column(db.Integer(4), primary_key=True)
    bra_id = db.Column(db.String(8), db.ForeignKey(Bra.id), primary_key=True)
    cbo_id = db.Column(db.String(6), db.ForeignKey(Cbo.id), primary_key=True)

    bra_id_len = db.Column(db.Integer(1))
    cbo_id_len = db.Column(db.Integer(1))

    def __repr__(self):
        return '<Ybo %d.%s.%s>' % (self.year, self.bra_id, self.cbo_id)
예제 #21
0
class Yio(BaseRais, db.Model, AutoSerialize):

    __tablename__ = 'rais_yio'
    cnae_id = db.Column(db.String(5), db.ForeignKey(Cnae.id), primary_key=True)
    cbo_id = db.Column(db.String(6), db.ForeignKey(Cbo.id), primary_key=True)
    importance = db.Column(db.Float())

    cnae_id_len = db.Column(db.Integer(1))
    cbo_id_len = db.Column(db.Integer(1))

    def __repr__(self):
        return '<Yio %d.%s.%s>' % (self.year, self.cnae_id, self.cbo_id)
예제 #22
0
class Ybs(db.Model, AutoSerialize):

    __tablename__ = 'attrs_ybs'
    year = db.Column(db.Integer(4), primary_key=True)
    bra_id = db.Column(db.String(10), db.ForeignKey(Bra.id), primary_key=True)
    stat_id = db.Column(db.String(20),
                        db.ForeignKey(Stat.id),
                        primary_key=True)
    stat_val = db.Column(db.Float)

    def __repr__(self):
        return "<Ybs {}.{}.{}>".format(self.year, self.bra_id, self.stat_id)
예제 #23
0
class PublicationSubject(db.Model):
    __tablename__ = 'news_subject'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    language = db.Column(db.String(2))

    def __init__(self, name=None, language=None):
        self.name = name
        self.language = language

    def __repr__(self):
        return '<PublicationSubject %r (%r)>' % (self.name, self.language)
예제 #24
0
class Yuc(Hedu):

    __tablename__ = 'hedu_yuc'

    year = db.Column(db.Integer(4), primary_key=True)
    university_id = db.Column(db.String(5), db.ForeignKey(University.id), primary_key=True)
    course_hedu_id = db.Column(db.Integer(6), db.ForeignKey(Course_hedu.id), primary_key=True)

    course_hedu_id_len = db.Column(db.Integer(1))

    def __repr__(self):
        return '<Yuc {}.{}.{}>'.format(self.year, self.university_id, self.course_hedu_id)
예제 #25
0
class HelpSubject(db.Model):
    __tablename__ = 'help_subject'
    id = db.Column(db.Integer, primary_key=True)
    name_en = db.Column(db.String(50))
    name_pt = db.Column(db.String(50))

    def name(self):
        lang = getattr(g, "locale", "en")
        return title_case(getattr(self, "name_" + lang))

    def __repr__(self):
        return '<Subject %r>' % (self.name())
예제 #26
0
class SearchSelector(db.Model):
    __tablename__ = 'search_selector'
    id = db.Column(db.String(50), primary_key=True)
    name_pt = db.Column(db.String(50))
    name_en = db.Column(db.String(50))

    def name(self):
        lang = getattr(g, "locale", "en")
        return title_case(getattr(self, "name_" + lang))

    def __repr__(self):
        return '<SearchSelector %r>' % (self.name)
예제 #27
0
class SearchProfile(db.Model):
    __tablename__ = 'search_profile'
    id = db.Column(db.String(50), primary_key=True)
    name_pt = db.Column(db.String(50))
    name_en = db.Column(db.String(50))
    questions = db.relationship("SearchQuestion", backref='search_question')

    def name(self):
        lang = getattr(g, "locale", "en")
        return title_case(getattr(self, "name_" + lang))

    def __repr__(self):
        return '<SearchProfile %r>' % (self.name)
예제 #28
0
class Yoo(db.Model, AutoSerialize):

    __tablename__ = 'attrs_yoo'
    year = db.Column(db.Integer(4), primary_key=True)
    cbo_id = db.Column(db.String(6), db.ForeignKey(Cbo.id), primary_key=True)
    cbo_id_target = db.Column(db.String(6),
                              db.ForeignKey(Cbo.id),
                              primary_key=True)
    prox_bra = db.Column(db.Float)

    def __repr__(self):
        return "<Yoo {}.{}.{}>".format(self.year, self.cbo_id,
                                       self.cbo_id_target)
예제 #29
0
class Yww(db.Model, AutoSerialize):

    __tablename__ = 'attrs_yww'
    year = db.Column(db.Integer(4), primary_key=True)
    wld_id = db.Column(db.String(5), db.ForeignKey(Wld.id), primary_key=True)
    wld_id_target = db.Column(db.String(5),
                              db.ForeignKey(Wld.id),
                              primary_key=True)
    prox_bra = db.Column(db.Float)

    def __repr__(self):
        return "<Yww {}.{}.{}>".format(self.year, self.wld_id,
                                       self.wld_id_target)
예제 #30
0
class Ybs(Sc):

    __tablename__ = 'sc_ybs'

    bra_id = db.Column(db.String(9), db.ForeignKey(Bra.id), primary_key=True)
    school_id = db.Column(db.String(8),
                          db.ForeignKey(School.id),
                          primary_key=True)

    bra_id_len = db.Column(db.Integer(1))

    def __repr__(self):
        return '<Ybs %d.%s.%s>' % (self.year, self.bra_id, self.school_id)