Ejemplo n.º 1
0
class Entry(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100))
    content = db.Column(db.Text)
    content_html = db.Column(db.Text)
    fragment = db.Column(db.Text) #内容片段, 用于主页显示
    status = db.Column(db.Integer, default=1) #完成:1, 失败0, 草稿:-1  (暂时无用)
    create_time = db.Column(db.DateTime, index=True, default=datetime.now())
    modified_time = db.Column(db.DateTime, default=datetime.now())
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    category = db.relationship('Category', backref=db.backref('entries', lazy='dynamic'), lazy='select')
    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
    tag = db.relationship('Tag', secondary=tag_entry, backref=db.backref('entries', lazy='dynamic'))
    view_count = db.Column(db.Integer, default=0)

    @staticmethod
    def on_changed_content(target, value, oldvalue, initator):
        if CONTENT_FORMAT == 'html':
            target.content_html = value
        else:
            target.content_html = md2html(text=value)

    def __repr__(self):
        return '<Entry %r>' % self.title

    def __unicode__(self):
        return self.title
Ejemplo n.º 2
0
class Followrelationship(db.Model):
    __tablename__ = 'follow'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    follower_id = db.Column(db.Integer, db.ForeignKey('customer.id'))
    followed_id = db.Column(db.Integer, db.ForeignKey('employee.id'))
    follower = db.relationship('Customer', backref=db.backref('follower'))
    followed = db.relationship('Employee', backref=db.backref('followed'))
Ejemplo n.º 3
0
class Comment(db.Model):
    __tablename__ = 'comment'
    id = db.Column(db.Integer, primary_key=True)
    information = db.Column(db.String(100))
    blog_id = db.Column(db.Integer, db.ForeignKey('blog.id'))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return '<Comment {}>'.format(self.information)
Ejemplo n.º 4
0
class AnswerQuestion(db.Model):
    __tablename__ = 'answer_question'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    content = db.Column(db.Text, nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.now)
    author_id = db.Column(db.Integer, db.ForeignKey('employee.id'))
    answer_question_id = db.Column(db.Integer, db.ForeignKey('question.id'))
    author = db.relationship('Employee', backref=db.backref('realanswer'))
    question = db.relationship('Question',
                               backref=db.backref('questionAnswer'))
class Appointment(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	type = db.Column(db.String(64),index=True)
	date = db.Column(db.String(64), index=True)
	time = db.Column(db.String(64), index=True)
	city = db.Column(db.String(64), index=True)
	details = db.Column(db.String(120), index=True)
	status = db.Column(db.String(64), index=True, default='Submitted')
	customer_id = db.Column(db.Integer, db.ForeignKey('customer.id'))
	pet_id = db.Column(db.Integer, db.ForeignKey('pet.id'))

	def __repr__(self):
		return '{}'.format(str(self.date)[0:10])
Ejemplo n.º 6
0
class Post(SearchableMixin,db.Model):
	__searchable__ = ['body','title']
	id = db.Column(db.Integer,primary_key=True)
	title = db.Column(db.String(80),nullable=False)
	body = db.Column(db.Text,nullable=False)
	body_html = db.Column(db.Text)
	summary = db.Column(db.Text)
	body_summary = db.Column(db.Text)
	timestamp = db.Column(db.DateTime,index=True,default=datetime.utcnow)
	html_body = db.Column(db.Text)
	user_id = db.Column(db.Integer,db.ForeignKey('user.id'))

	@staticmethod
	def delete(post=None,id=None):
		if post is None:
			post = Post.query.filter_by(id=id).first()
		db.session.delete(post)
		db.session.commit()

	@staticmethod
	def on_body_change(target,value,oldvalue,initiator):
		allowed_tags = ['a', 'abbr', 'acronym', 'b', 'blockquote', 'code','em', 'i', 'li', 'ol', 'pre', 'strong', 'ul','h1', 'h2', 'h3', 'p']
		attrs = { '*':['class'],}
		target.body_html = bleach.linkify(bleach.clean(markdown(value), tags=allowed_tags, strip=True, attributes=attrs))
		pattern = re.compile(r'<[^>]+>', re.S)
		summary = pattern.sub('', target.body_html)
		summary = (summary[0:40] + '...') if len(summary) >= 40 else summary
		target.body_summary = summary

	def __repr__(self):
		return '<Post {}>'.format(self.title)
Ejemplo n.º 7
0
class Suggesstion(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    suggestion = db.Column(db.String(140))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return '<suggestion {}>'.format(self.suggestion)
Ejemplo n.º 8
0
class NewAppointment(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    applicant = db.Column(db.String(20), index=True, nullable=False)
    date = db.Column(db.String(20), index=True, nullable=False)
    appoint_time = db.Column(db.Integer, index=True, nullable=False)
    petType = db.Column(db.Integer, index=True, nullable=False)
    petName = db.Column(db.String(20), index=True, nullable=False)
    doctor = db.Column(db.Integer, index=True, nullable=False)
    phoneNo = db.Column(db.String(20), index=True, nullable=False)
    comment = db.Column(db.String(20), default="")
    condition = db.Column(db.Integer, index=True, default=1, nullable=False)
    op_date = db.Column(db.String(20), index=True)
    op_time = db.Column(db.Integer, index=True)
    app_type = db.Column(db.Integer, index=True, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('customer.id'))
    cus_appoint = db.relationship('Customer', backref=db.backref('Customer'))

    def to_dict(self):
        result = {}
        for key in self.__mapper__.c.keys():
            if getattr(self, key) is not None:
                result[key] = str(getattr(self, key))
            else:
                result[key] = getattr(self, key)
        return result

    def to_json(all_vendors):
        v = [ven.to_dict() for ven in all_vendors]
        return v
Ejemplo n.º 9
0
class Question(db.Model):
    __tablename__ = 'question'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    question_title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.now)
    author_name = db.Column(db.String(64), db.ForeignKey('customer.username'))
    author = db.relationship('Customer', backref=db.backref('realquestions'))
Ejemplo n.º 10
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return 'Post %r' % self.title
Ejemplo n.º 11
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.String(140))
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    def __repr__(self):
        return '<Post {}>'.format(self.body)
Ejemplo n.º 12
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100), nullable=False)
    date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    content = db.Column(db.Text, nullable=False)
    user_id = db.Column(db.Integer,db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Post('{self.title}','{self.date_posted}')"
Ejemplo n.º 13
0
class Entry(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100))
    content = db.Column(db.Text)
    fragment = db.Column(db.Text) #内容片段, 用于主页显示
    status = db.Column(db.Integer, default=1) #完成:1, 失败0, 草稿:-1  (暂时无用)
    create_time = db.Column(db.DateTime, index=True, default=datetime.now())
    modified_time = db.Column(db.DateTime, default=datetime.now())
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    category = db.relationship('Category', backref=db.backref('entries', lazy='dynamic'), lazy='select')
    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
    tag = db.relationship('Tag', secondary=tag_entry, backref=db.backref('entries', lazy='dynamic'))
    view_count = db.Column(db.Integer, default=0)

    def __repr__(self):
        return '<Entry %r>' % self.title

    def __unicode__(self):
        return self.title
Ejemplo n.º 14
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.String(140))
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    name = db.Column(db.String(140))
    user_id = db.Column(db.Integer, db.ForeignKey('customer.id'))

    def __repr__(self):
        return '{}: {}  --- <{}>'.format(self.name, self.body,
                                         str(self.timestamp)[0:16])
Ejemplo n.º 15
0
class BlogModel(db.Model):
    __tablename__ = 'blog'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(30), unique=True, nullable=False)
    creator_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    date_of_creation = db.Column(db.DateTime, default=datetime.now)
    is_active = db.Column(db.Boolean, default=False)
    posts = db.relationship('PostModel', backref='blog', lazy=True)

    def __repr__(self):
        return f"Blog : {self.name}"
Ejemplo n.º 16
0
class Posts(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(64))
    post_body = db.Column(db.String(1024))
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    user = db.relationship('User')
    create_date = db.Column(db.DateTime, default=datetime.utcnow)
    yn = db.Column(db.SmallInteger, default=1)

    def __repr__(self):
        "<post: {}>".format(self.title)
class Pet(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	name = db.Column(db.String(64), index=True)
	type = db.Column(db.String(64), index=True)
	old = db.Column(db.Integer, index=True)
	gender = db.Column(db.String(64), index=True)
	customer_id = db.Column(db.Integer, db.ForeignKey('customer.id'))
	appointments = db.relationship('Appointment', backref='pet', lazy='dynamic')


	def __repr__(self):
		return '<Pet {}>'.format(self.name)
Ejemplo n.º 18
0
class PostModel(db.Model):

    __tablename__ = 'post'

    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(50), nullable=False)
    content = db.Column(db.Text, nullable=False)
    created_on = db.Column(db.DateTime, default=datetime.now)
    blog_id = db.Column(db.Integer, db.ForeignKey('blog.id'))

    def __repr__(self):
        return f"post : {self.title}"
Ejemplo n.º 19
0
class NewAppointment(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    applicant = db.Column(db.String(20), index=True, nullable=False)
    date = db.Column(db.DateTime, index=True, nullable=False)
    petType = db.Column(db.Integer, index=True, nullable=False)
    doctor = db.Column(db.Integer, index=True, nullable=False)

    phoneNo = db.Column(db.String(20), index=True, nullable=False)
    comment = db.Column(db.String, default="")
    user_id = db.Column(db.Integer, db.ForeignKey('customer.id'))
    cus_appoint = db.relationship('Customer', backref=db.backref('Customer'))

    def __repr__(self):
        return '<User {}>'.format(self.username)
Ejemplo n.º 20
0
class BlogPost(db.Model):

    users = db.relationship(User)
    id = db.Column(db.Integer, primary_key=True)

    user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
    date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    title = db.Column(db.String(140), nullable=False)
    text = db.Column(db.Text, nullable=False)

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


    def __repr__(self):
        return f"Post Id: {self.id} --- Date: {self.date} --- Title: {self.title}"
Ejemplo n.º 21
0
        return '<Category %r>' % self.name

    def __unicode__(self):
        return self.name


# 标签
class Tag(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), unique=True)

    def __repr__(self):
        return '<Tag %r>' % self.name

tag_entry = db.Table('tags',
                db.Column('tag_id', db.Integer, db.ForeignKey('tag.id')),
                db.Column('entry_id', db.Integer, db.ForeignKey('entry.id'))
                )


# 文章
class Entry(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100))
    content = db.Column(db.Text)
    fragment = db.Column(db.Text) #内容片段, 用于主页显示
    status = db.Column(db.Integer, default=1) #完成:1, 失败0, 草稿:-1  (暂时无用)
    create_time = db.Column(db.DateTime, index=True, default=datetime.now())
    modified_time = db.Column(db.DateTime, default=datetime.now())
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    category = db.relationship('Category', backref=db.backref('entries', lazy='dynamic'), lazy='select')
Ejemplo n.º 22
0
from datetime import datetime
from time import time
import jwt
from blogapp import db, login, app
from werkzeug.security import generate_password_hash, check_password_hash
from flask_login import UserMixin
from hashlib import md5

@login.user_loader
def load_user(id):
    return User.query.get(int(id))

followers = db.Table('followers',
    db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))
)

class User(db.Model, UserMixin):
    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))
    posts = db.relationship('Post', backref='author', lazy='dynamic')
    about_me = db.Column(db.String(140))
    last_seen = db.Column(db.DateTime, default=datetime.utcnow)
    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'
    )