def edit_post(hash_id): paste = get_paste(hash_id) if not paste.is_user_owned(request.user): abort(404) form = PasteForm(request.POST) if form.validate(): user = login.get_user() paste.title = form.title.data paste.is_private = form.is_private.data tags = [] codes = [code for code in paste.codes] paste.codes = [] for code in codes: code.delete() for i, c in enumerate(form.codes): tag_name = c.tag.data.lower() if not c.title.data: c.title.data = '代码片段%s' % (i + 1) code = Code(title=c.title.data, content=c.content.data, tag=tag_name, user=user) code.save() tags.append(tag_name) tag = Tag.objects(name=tag_name).first() if tag: tag.popularity += 1 else: tag = Tag(name=tag_name) tag.save() paste.codes.append(code) paste.tags = list(set(tags)) paste.save() return redirect('/paste/%s' % paste.hash_id) return {'form': form, 'paste': paste, 'token': request.csrf_token}
def create_post(): form = PasteForm(request.POST) if form.validate(): user = login.get_user() paste = Paste(title=form.title.data, user=user, is_private=form.is_private.data) tags = [] for i, c in enumerate(form.codes): tag_name = c.tag.data.lower() if not c.title.data: c.title.data = '代码片段%s' % (i + 1) code = Code(title=c.title.data, content=c.content.data, tag=tag_name, user=user) code.save() tags.append(tag_name) tag = Tag.objects(name=tag_name).first() if tag: tag.popularity += 1 else: tag = Tag(name=tag_name) tag.save() paste.codes.append(code) paste.tags = list(set(tags)) paste.save() return redirect('/paste/%s' % paste.hash_id) return {'form': form, 'token': request.csrf_token}