Exemplo n.º 1
0
class Tutorial(db.Model):
    __tablename__ = 'tutorial'
    __searchable__ = ['title']
    # query_class = ArticleQuery
    id = db.Column('tutor_id', db.String, primary_key=True, default=uuid_gen)
    user_id = db.Column(db.String, db.ForeignKey('users.user_id'))
    title = db.Column(db.String(60))
    url = db.Column(db.String(300))
    type = db.Column(db.String(10))
    username = db.Column(db.String(20))
    like = db.Column(db.Integer, default=0)
    slug = db.Column(db.String(50), index=True)
    content = db.Column(db.Text())
    # title_vector = db.Column(TSVectorType('title'))
    __table_args__ = (db.UniqueConstraint('user_id', 'slug'), {})

    def __init__(self, title, url, name="tutorial"):
        self.title = title
        self.url = url
        self.type = name

    def get_id(self):
        return self.id

    def get_url(self):
        return self.url

    def get_title(self):
        return self.title
Exemplo n.º 2
0
class User(db.Model):
    __tablename__ = "users"
    id = db.Column('user_id', db.String, primary_key=True, default=uuid_gen)
    username = db.Column('username', db.String(20), unique=True, index=True)
    password = db.Column('password', db.String(250))
    email = db.Column('email', db.String(50), unique=True, index=True)
    registered_on = db.Column('registered_on', db.DateTime)
    last_edit = db.Column('last_edit', db.DateTime)

    def __init__(self , username ,password , email):
        self.username = username
        self.password = generate_password_hash(password)
        self.email = email
        self.registered_on = datetime.now()

    def set_password(self , password):
        self.password = generate_password_hash(password)

    def check_password(self , password):
        return check_password_hash(self.password , password)

    def is_authenticated(self):
        return True
 
    def is_active(self):
        return True
 
    def is_anonymous(self):
        return False
 
    def get_id(self):
        return unicode(self.id)
 
    def get_name(self):
        return unicode(self.username)

    def check_frequence(self, now):
        if not self.last_edit:
            return True
        differ = (now - self.last_edit).seconds
        if differ >= 60:
            return True
        else:
            return False

    def avatar(self, size):
        return 'http://www.gravatar.com/avatar/' + md5(self.email).hexdigest() + '?d=mm&s=' + str(size)

    def __repr__(self):
        return '<User %r>' % (self.username)
Exemplo n.º 3
0
class CrawlTask(db.Model):
    __tablename__ = 'interests_task'
    id = db.Column('task_id', db.String, primary_key=True, default=uuid_gen)
    school = db.Column(db.String(70))
    major = db.Column(db.String(4))
    school_url = db.Column(db.String(150))
    example = db.Column(db.String(150))
    __table_args__ = (UniqueConstraint('school',
                                       'major',
                                       name='_school_major_uniq'), )

    def __init__(self, school, major, url, example):
        self.school = school
        self.major = major
        self.school_url = url
        self.example = example
Exemplo n.º 4
0
class Interests(db.Model):
    __tablename__ = 'Interests'
    id = db.Column('interests_id',
                   db.String,
                   primary_key=True,
                   default=uuid_gen)
    name = db.Column(db.String(50))
    zh_name = db.Column(db.String(20))
    major = db.Column(db.String(4))
    category_name = db.Column(db.String(50), default='')
    __table_args__ = (UniqueConstraint('name', 'major',
                                       name='_interests_uniq'), )

    def __init__(self, name, major):
        self.name = name
        self.major = major
Exemplo n.º 5
0
class Account(db.Model):
    __tablename__ = "account"
    id = db.Column('user_id', db.String, primary_key=True, default=uuid_gen)
    appname = db.Column('appname', db.String(50), index=True)
    username = db.Column('username', db.String(20), index=True)
    password = db.Column('password', db.String(250))
    hint = db.Column('hint', db.String(100), index=True)
    registered_on = db.Column('registered_on', db.DateTime)
    __table_args__ = (UniqueConstraint('appname', 'username',
                                       name='_app_user'), )

    def __init__(self, appname, username, password, hint):
        self.appname = appname
        self.username = username
        self.password = generate_password_hash(password)
        self.hint = hint
        self.registered_on = datetime.now()

    def set_password(self, password):
        self.password = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password, password)

    def is_authenticated(self):
        return True

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return unicode(self.id)

    def get_name(self):
        return unicode(self.username)

    def __repr__(self):
        return u'<Account %r>' % self.username
Exemplo n.º 6
0
class TempUniversity(db.Model):
    __tablename__ = 'temp_university'
    id = db.Column('university_id',
                   db.String,
                   primary_key=True,
                   default=uuid_gen)
    name = db.Column(db.String(70), unique=True)
    info = db.Column(JSON)

    def __init__(self, name, info):
        self.name = name
        self.info = info
Exemplo n.º 7
0
class Professor(db.Model):
    __tablename__ = 'Professor'
    id = db.Column('professor_id',
                   db.String,
                   primary_key=True,
                   default=uuid_gen)
    name = db.Column(db.String(30))
    school = db.Column(db.String(60))
    major = db.Column(db.String(4))
    school_url = db.Column(db.String(150))
    home_page = db.Column(db.String(150))
    position = db.Column(db.Boolean)
    term = db.Column(db.String(20))
    interests = db.relationship('Interests',
                                secondary=professor_interests_table,
                                backref=db.backref('Professor',
                                                   lazy='dynamic'))
    __table_args__ = (UniqueConstraint('name',
                                       'school',
                                       'major',
                                       name='_professor_uniq'), )

    def __init__(self, name, school, major):
        self.name = name
        self.school = school
        self.major = major
Exemplo n.º 8
0
class ReciteWord(db.Model):
    __tablename__ = 'ReciteWord'
    id = db.Column('recite_id', db.String, primary_key=True, default=uuid_gen)
    user_id = db.Column(db.String, db.ForeignKey('users.user_id'))
    book_name = db.Column(db.String(30))
    data = db.Column(JSON)

    def __init__(self, user_id, book_name, json):
        self.user_id = user_id
        self.book_name = book_name
        self.data = json

    def get_data(self):
        return self.data
Exemplo n.º 9
0
class EntryMastery(db.Model):
    __tablename__ = 'entry_mastery'
    id = db.Column('entry_id',
                   db.String,
                   primary_key=True,
                   default=str(uuid.uuid4()))
    user_id = db.Column(db.String, db.ForeignKey('users.user_id'))
    tutor_id = db.Column(db.String, db.ForeignKey('tutorial.tutor_id'))
    name = db.Column(db.String(60))
    mastery = db.Column(db.Integer, default=1)

    def __init__(self, tutor_id):
        self.tutor_id = tutor_id
        self.mastery = 0
Exemplo n.º 10
0
class Episode(db.Model):
    __tablename__ = 'episode'
    id = db.Column('epis_id', db.String, primary_key=True, default=uuid_gen)
    user_id = db.Column(db.String, db.ForeignKey('users.user_id'))
    name = db.Column(db.String(30))
    no = db.Column(db.Integer)
    data = db.Column(JSON)

    def __init__(self, user_id, name, no, json):
        self.user_id = user_id
        self.name = name
        self.no = no
        self.data = json

    def get_data(self):
        return self.data
Exemplo n.º 11
0
class MindMap(db.Model):
    __tablename__ = 'mindmap'
    id = db.Column('mindmap_id',
                   db.String,
                   primary_key=True,
                   default=str(uuid.uuid4()))
    user_id = db.Column(db.String, db.ForeignKey('users.user_id'))
    title = db.Column(db.String(60))
    map = db.Column(JSON)
    last_edit = db.Column('last_edit', db.DateTime)

    def __init__(self, title, json):
        self.title = title
        self.map = json
        self.last_edit = datetime.now()

    def get_id(self):
        return self.id

    def get_user_id(self):
        return str(self.user_id)
Exemplo n.º 12
0
class TempCollege(db.Model):
    __tablename__ = 'temp_college'
    id = db.Column('college_id', db.String, primary_key=True, default=uuid_gen)
    name = db.Column(db.String(70))
    degree = db.Column(db.Integer)
    major = db.Column(db.String(10))
    program_name = db.Column(db.String(70))
    site_url = db.Column(db.String(250))
    gpa = db.Column(db.Float)
    gpa_url = db.Column(db.String(250))
    tuition = db.Column(db.Float)
    tuition_url = db.Column(db.String(250))
    fall = db.Column(db.String(20))
    spring = db.Column(db.String(20))
    deadline_url = db.Column(db.String(250))
    toefl = db.Column(db.Integer)
    ielts = db.Column(db.Float)
    eng_url = db.Column(db.String(250))
    gre = db.Column(db.String(20))
    gre_url = db.Column(db.String(250))
    rl = db.Column(db.String(10))
    evalue = db.Column(db.String(10))
    finance = db.Column(db.String(10))
    docum_url = db.Column(db.String(250))
    int_docum_url = db.Column(db.String(250))
    info = db.Column(JSON)

    def __init__(self, name, degree, major, site_url):
        self.name = name
        self.degree = degree
        self.major = major
        self.site_url = site_url
Exemplo n.º 13
0
class College(db.Model):
    __tablename__ = 'college'
    id = db.Column('college_id', db.String, primary_key=True, default=uuid_gen)
    name = db.Column(db.String(70))
    degree = db.Column(db.Integer)
    major = db.Column(db.String(10))
    program_name = db.Column(db.String(70))
    site_url = db.Column(db.String(250))
    gpa = db.Column(db.Float)
    gpa_url = db.Column(db.String(250))
    tuition = db.Column(db.Float)
    tuition_url = db.Column(db.String(250))
    fall = db.Column(db.String(20))
    spring = db.Column(db.String(20))
    deadline_url = db.Column(db.String(250))
    toefl = db.Column(db.Integer)
    ielts = db.Column(db.Float)
    eng_url = db.Column(db.String(250))
    gre = db.Column(db.String(20))
    gre_url = db.Column(db.String(250))
    rl = db.Column(db.String(10))
    evalue = db.Column(db.String(10))
    finance = db.Column(db.String(10))
    docum_url = db.Column(db.String(250))
    int_docum_url = db.Column(db.String(250))
    info = db.Column(JSON)
    __table_args__ = (UniqueConstraint('name',
                                       'degree',
                                       'major',
                                       'program_name',
                                       name='_degree_major'), )

    def __init__(self, name, degree, major, site_url, pname=''):
        self.name = name
        self.degree = degree
        self.major = major
        self.site_url = site_url
        self.program_name = pname

    def set(self, college):
        self.gpa = college.gpa
        self.gpa_url = college.gpa_url
        self.tuition = college.tuition
        self.tuition_url = college.tuition_url
        self.fall = college.fall
        self.spring = college.spring
        self.deadline_url = college.deadline_url
        self.toefl = college.toefl
        self.ielts = college.ielts
        self.eng_url = college.eng_url
        self.gre = college.gre
        self.gre_url = college.gre_url
        self.rl = college.rl
        self.evalue = college.evalue
        self.finance = college.finance
        self.docum_url = college.docum_url
        self.int_docum_url = college.int_docum_url
        self.info = college.info