Ejemplo n.º 1
0
def init_tag():
    tag1 = Tag(title='common', remark='通用')
    tag2 = Tag(title='trip', remark='旅行')
    tag3 = Tag(title='life', remark='生活')
    tag4 = Tag(title='motion', remark='情感')

    db.session.add(tag1)
    db.session.add(tag2)
    db.session.add(tag3)
    db.session.add(tag4)

    db.session.commit()
Ejemplo n.º 2
0
	def post(self,post_id=None):
		if post_id:
			abort(405)
		else:
			args = post_post_parser.parse_args(strict=True)

			user = User.verify_auth_token(args['token'])
			if not user:
				abort(401)

			new_post = Post(args['title'])
			new_post.user = user
			new_post.publish_date=datetime.datetime.now()
			new_post.text = args['text']
			if args['tags']:
				for item in args['tags']:
					tag = Tag.query.filter_by(
						title=item
					).first()

					if tag:
						new_post.tags.append(tag)
					else:
						new_tag = Tag(item)
						new_post.tags.append(new_tag)


			db.session.add(new_post)
			db.session.commit()

			return new_post.id,201
Ejemplo n.º 3
0
    def put(self, post_id=None):
        if not post_id:
            abort(400)
        post = Post.query.get(post_id)
        if not post:
            abort(404)

        args = post_put_parser.parse_args(strict=True)
        user = User.verify_auth_token(args['token'])
        if not user:
            abort(401)
        if user != post.author:
            abort(403)

        if args['title']:
            post.title = args['title']

        if args['text']:
            post.text = args['text']

        if args['tags']:
            for item in args['tags']:
                tag = Tag.query.filter_by(title=item).first()

                if tag:
                    post.tags.append(tag)
                else:
                    new_tag = Tag(item)
                    post.tages.append(new_tag)
        db.session.add(post)
        db.session.commit()
        return post.id, 201
Ejemplo n.º 4
0
    def post(self, item_id=None):
        if item_id:
            abort(400)
        else:
            args = item_post_parser.parse_args(strict=True)

            user = User.verify_auth_token(args['token'])
            if not user:
                abort(401)

            new_item = Item(args['title'])
            new_item.date = datetime.datetime.now()
            new_item.description = args['description']
            new_item.price = args['price']
            new_item.user = user

            if args['tag']:
                for item in args['tag']:
                    tag = Tag.query.filter_by(title=item).first()

                    #Add the tag if it exists
                    # If not, make a new tag
                    if tag:
                        new_item.tags.append(tag)
                    else:
                        new_tag = Tag(item)
                        new_item.tags.append(new_tag)

            db.session.add(new_item)
            db.session.commit()
            return new_item.id, 201
Ejemplo n.º 5
0
def new(type):
    form = PostForm()
    if form.validate_on_submit():
        new_post = Post(form.title.data)
        new_post.text = form.text.data
        new_post.cover = form.cover.data
        new_post.publish_date = datetime.now()
        new_post.update_date = new_post.publish_date
        new_post.user_id = current_user.id
        new_post.type = type
        new_post.summary = form.summary.data
        new_post.video = form.video.data
        tagStrList = form.tags.data.split(',')
        for tagStr in tagStrList:
            tagStr = tagStr.strip()
            tag = Tag.query.filter_by(title=tagStr).first()
            if not tag:
                tag = Tag(tagStr)
            new_post.tags.append(tag)

        for photo_url in form.photos.data:
            if photo_url != '':
                photo = Photo(photo_url)
                new_post.photos.append(photo)

        db.session.add(new_post)
        db.session.commit()
        return redirect(url_for('blog.post', post_id=new_post.id))
    form.type.data = type
    return render_template("edit_{}.html".format(type), form=form, type=type)
Ejemplo n.º 6
0
def create_start_tags():
    session = Session()
    standard_tags = ('комедия', 'боевик', 'ужасы', 'мультфильм', 'документалка')
    for tag in standard_tags:
        tag = Tag(name=tag)
        session.add(tag)
        print("Тег", tag.name, "внесен в список тегов")
    print("-----------------Список тегов обновлен----------------")
    session.commit()
    session.close()
Ejemplo n.º 7
0
def setup_db():
    db.create_all()

    admin_role = Role()
    admin_role.name = "admin"
    admin_role.description = "admin"
    db.session.add(admin_role)

    default_role = Role()
    default_role.name = "default"
    default_role.description = "default"
    db.session.add(default_role)

    admin = User()
    admin.username = "******"
    admin.set_password("password")
    admin.roles.append(admin_role)
    admin.roles.append(default_role)
    db.session.add(admin)

    tag_one = Tag('Python')
    tag_two = Tag('Flask')
    tag_three = Tag('SQLAlechemy')
    tag_four = Tag('Jinja')
    tag_list = [tag_one, tag_two, tag_three, tag_four]

    s = "Body text"

    for i in xrange(100):
        new_post = Post("Post " + str(i))
        new_post.user = admin
        new_post.publish_date = datetime.datetime.now()
        new_post.text = s
        new_post.tags = random.sample(tag_list, random.randint(1, 3))
        db.session.add(new_post)

    db.session.commit()
Ejemplo n.º 8
0
def setup_db():
    'Code to setup initial db with necessary info'
    db.create_all()

    admin_role = Role("admin")
    admin_role.description = "admin of applicaiton"
    db.session.add(admin_role)

    poster_role = Role("poster")
    poster_role.description = "user with ability to post items"
    db.session.add(poster_role)

    admin = User("admin")
    admin.set_password("password")
    admin.roles.append(admin_role)
    admin.roles.append(poster_role)
    db.session.add(admin)

    tag_one = Tag('clothes')
    tag_two = Tag('books')
    tag_three = Tag('technology')
    tag_four = Tag('sports')
    tag_five = Tag('music')
    tag_list = [tag_one, tag_two, tag_three, tag_four, tag_five]

    s = "Description text"

    for i in xrange(100):
        new_item = Item("Item {}".format(i))
        new_item.user = admin
        new_item.added_date = datetime.datetime.now()
        new_item.description = s
        new_item.tags = random.sample(tag_list, random.randint(1, 4))
        db.session.add(new_item)

    db.session.commit()
Ejemplo n.º 9
0
def setup_db():
    db.create_all()

    # 创建管理员角色
    admin_role = Role('admin')
    admin_role.description = 'admin'
    db.session.add(admin_role)
    # 创建默认角色
    default_role = Role('default')
    default_role.description = 'default'
    db.session.add(default_role)

    # 创建管理员用户信息
    admin = User('admin')
    admin.set_password('password')
    admin.roles.append(admin_role)
    admin.roles.append(default_role)
    db.session.add(admin)

    tag_one = Tag('Python')
    tag_two = Tag('Flask')
    tag_three = Tag('SQLAlchemy')
    tag_four = Tag('Jinja')
    tag_list = [tag_one, tag_two, tag_three, tag_four]

    s = 'Body text'

    for i in range(100):
        new_post = Post('Post %s' % i, s)
        new_post.user = admin
        new_post.publish_date = datetime.datetime.now()
        new_post.tags = random.sample(tag_list, random.randint(1, 3))

        db.session.add(new_post)

    db.session.commit()
Ejemplo n.º 10
0
def edit(id):
    post = Post.query.get_or_404(id)
    permission = Permission(UserNeed(post.user.id))
    if permission.can() or admin_permission.can():
        form = PostForm()
        if form.validate_on_submit():
            post.title = form.title.data
            post.cover = form.cover.data
            post.video = form.video.data
            post.summary = form.summary.data
            post.text = form.text.data
            post.update_date = datetime.now()
            del post.tags[:]  # 删除所有标签
            del post.photos[:]  # 删除所有图片

            if form.tags.data.strip():
                tagStrList = form.tags.data.split(',')
                for tagStr in tagStrList:  # 对标签循环
                    tagStr = tagStr.strip()
                    tag = Tag.query.filter_by(title=tagStr).first()
                    if not tag:  # 标签不存在时新增
                        tag = Tag(tagStr)
                    post.tags.append(tag)

            for photo_url in form.photos.data:
                if photo_url != '':
                    photo = Photo(photo_url)
                    post.photos.append(photo)

            db.session.add(post)
            db.session.commit()
            return redirect(url_for('.post', post_id=post.id))
        type = post.type
        form.cover.data = post.cover
        form.text.data = post.text
        form.title.data = post.title
        form.summary.data = post.summary
        form.type.data = type
        photos = [photo.url for photo in post.photos]
        form.summary.data = post.summary
        tags = []
        for tag in post.tags:
            tags.append(tag.title)
        form.tags.data = ','.join(tags)

        return render_template("edit_{}.html".format(type), form=form, post=post, photos=photos)
    abort(403)
Ejemplo n.º 11
0
    def put(self, item_id=None):
        if not item_id:
            abort(400)
        else:
            item = Item.query.get(item_id)
            if not item:
                abort(404)

            args = item_put_parser.parse_args(strict=True)
            user = User.verify_auth_token(args['token'])
            if not user:
                abort(401)
            if user != item.user:
                abort(403)

            if args['title']:
                item.title = args['title']

            if args['description']:
                item.description = args['description']

            if args['price']:
                item.price = args['price']

            if args['tag']:
                for item in args['tag']:
                    tag = Tag.query.filter_by(title=item).first()

                    #Add the tag if it exists
                    # If not, make a new tag
                    if tag:
                        item.tags.append(tag)
                    else:
                        new_tag = Tag(item)
                        item.tags.append(new_tag)

            db.session.add(item)
            db.session.commit()
            return item.id, 201
Ejemplo n.º 12
0
def new_post():
    if request.method == 'POST':
        jsonStr = request.get_data()
        data = json.loads(jsonStr)
        if hasattr(data, 'key') or data['key'] != "wysj3910":
            return "密钥错误!"
        new_post = Post(data['title'])  # 创建帖子
        new_post.text = data['text']  # 内容
        new_post.cover = data['cover']  # 封面
        new_post.publish_date = time.strftime(
            "%Y-%m-%d %H:%M:%S", time.localtime(data['publish_date']))  # 发布日期
        new_post.update_date = datetime.datetime.now()  #更新的日期
        user = User.query.filter_by(username=data['username']).first()  # 获取用户
        if not user:
            user = User(data['username'])
            if hasattr(data, 'nickname'):
                user.nickname = data['nickname']
        new_post.user = user  # 用户
        new_post.type = data['type']  # 类型
        new_post.summary = data['summary']  # 简介
        new_post.video = data['video']  # 视频地址
        new_post.read = data['read']  # 阅读量
        new_post.post_hash = data['post_hash']  #贴的hash值
        for photo_url in data['photos']:  # 图片列表
            if photo_url != '':
                photo = Photo(photo_url)
                new_post.photos.append(photo)

        for tagStr in data['tags']:  # 标签
            tagStr = tagStr.strip()
            tag = Tag.query.filter_by(title=tagStr).first()
            if not tag:
                tag = Tag(tagStr)
            new_post.tags.append(tag)
        db.session.add(new_post)
        db.session.commit()
        return json.dumps({'status': 0})
Ejemplo n.º 13
0
    def post(self, post_id=None):
        if post_id:  # 为啥要设置这条件?
            abort(400)
        else:
            args = post_post_parser.parse_args(strict=True)  # ?
            user = User.verify_auth_token(args['token'])
            if not user:
                abort(401)
            new_post = Post(args['title'], args['text'])  # 新建post对象
            new_post.date = datetime.datetime.now()
            new_post.author = user

            if args['tags']:
                for item in args['tags']:
                    tag = Tag.query.filter_by(title=item).first()
                    if tag:  # 如果数据库已经存在该tag,那就直接添加到新post中
                        new_post.tags.append(tag)
                    else:  # 不然要新建了再添加
                        new_tag = Tag(item)
                        new_post.tags.append(new_tag)

        db.session.add(new_post)
        db.session.commit()
        return new_post.id, 201
Ejemplo n.º 14
0
def insert_data():
    with app.app_context():
        # 不需要在这里创建库,应该使用数据库升级命令`db upgrade`来创建库
        # db.create_all()

        # 这里设定了3种角色
        role_admin = Role(name='admin')
        role_admin.description = "administrator role"
        role_poster = Role(name='poster')
        role_poster.description = "the registered user role"
        role_default = Role(name='default')
        role_default.description = 'the unregistered user role'
        db.session.add(role_admin)
        db.session.add(role_poster)
        db.session.add(role_default)

        # add User
        admin = User(username='******')
        admin.email = '*****@*****.**'
        admin.password = '******'
        admin.confirmed = True
        admin.roles.append(role_admin)
        admin.roles.append(role_poster)
        admin.roles.append(role_default)
        db.session.add(admin)

        user01 = User(username='******')
        user01.email = '*****@*****.**'
        user01.password = '******'
        user01.confirmed = True
        user01.roles.append(role_poster)
        user01.roles.append(role_default)
        db.session.add(user01)

        user02 = User(username='******')
        user02.email = '*****@*****.**'
        user02.password = '******'
        user02.confirmed = True
        user02.roles.append(role_poster)
        user02.roles.append(role_default)
        db.session.add(user02)

        # add Tag and Post
        tag_one = Tag('Python')
        tag_two = Tag('Flask')
        tag_three = Tag('SQLAlechemy')
        tag_four = Tag('Jinja')
        tag_list = [tag_one, tag_two, tag_three, tag_four]

        s = "Example Text"

        for i in xrange(1, 101):
            new_post = Post("Post {}".format(i))
            if i % 2:
                new_post.user = user01
            else:
                new_post.user = user02
            new_post.publish_date = datetime.datetime.utcnow()
            new_post.text = s
            new_post.tags = random.sample(tag_list, random.randint(1, 3))
            db.session.add(new_post)

        # add comment
        comment01 = Comment()
        comment01.name = 'comment01'
        comment01.text = 'comment text'
        comment01.post_id = 99
        comment01.date = datetime.datetime.utcnow()
        db.session.add(comment01)

        comment02 = Comment()
        comment02.name = 'comment02'
        comment02.text = 'comment text'
        comment02.post_id = 100
        comment02.date = datetime.datetime.utcnow()
        db.session.add(comment02)

        db.session.commit()
Ejemplo n.º 15
0
import random
import datetime
from webapp.models import db, User, Post, tags, Tag, Comment

user = User.query.get(1)

tag_one = Tag('Python')
tag_two = Tag('Flask')
tag_three = Tag('SQLAlechemy')
tag_four = Tag('Jinja')
tag_list = [tag_one, tag_two, tag_three, tag_four]

s = "Example text"

for i in range(100):
    new_post = Post("Post " + str(i))
    new_post.user = user
    new_post.publish_date = datetime.datetime.now()
    new_post.text = s
    new_post.tags = random.sample(tag_list, random.randint(1, 3))
    db.session.add(new_post)

db.session.commit()
Ejemplo n.º 16
0
import random 
import datetime

from webapp.models import User, Tag, Post, db

user = User.query.get(1)
tag_1 = Tag(u'python')
tag_2 = Tag(u'Flask')
tag_3 = Tag(u'Jinja')
tag_4 = Tag(u'Sql')
tag_list = [ tag_1, tag_2, tag_3, tag_4 ]

s = 'demo text'

for i in xrange(100):
  new_post = Post('Post' + str(i))
  new_post.user = user
  new_post.publish_date = datetime.datetime.now()
  new_post.text = s
  new_post.tags = random.sample(tag_list, random.randint(1, 3))
  db.session.add(new_post)

db.session.commit()