Esempio n. 1
0
 def mutate(self, info, title, body, authorPost):
     user = User.query.filter_by(username=str(authorPost)).first()
     post = Post(title=title, body=body)
     if user is not None:
         post.author_post = user.username
         post.author_id = user.uuid
     db_session.add(post)
     db_session.commit()
     return CreatePost(post=post)
Esempio n. 2
0
def add_post():
    form = NewPostForm()
    if form.validate_on_submit():
        post = Post()
        form.populate_obj(post)
        post.author_id = current_user.id
        db.session.add(post)
        db.session.commit()
        return redirect('/')
    return render_template("add_post.html", form=form)
Esempio n. 3
0
def add_post():
        form = NewPostForm()
        if form.validate_on_submit():
                post = Post()
                form.populate_obj(post)
                post.author_id = current_user.id
                db.session.add(post)
                db.session.commit()
                return redirect('/')
        return render_template("add_post.html", form = form)
Esempio n. 4
0
def add_post():
    form = PostForm(request.form)
    if request.method == 'POST' and form.validate():
        post = Post()
        form.populate_obj(post)
        post.author_id = g.user.id
        post.timestamp = datetime.utcnow()
        db.session.add(post)
        db.session.commit()
        return redirect(url_for('show_post', post_id=post.id))
    return render_template('content_add_post.html',
                           title='Add post',
                           form=form,
                           user=g.user)
Esempio n. 5
0
def save_post(user_id):
    working_id = request.form.get("id")

    if working_id:
        new_post = Post.query.get(working_id)
    else:
        new_post = Post()

    new_post.title = request.form.get("title")
    new_post.body = request.form.get("body")
    new_post.author_id = user_id
    db.session.add(new_post)
    db.session.commit()
    return redirect(f"/post/view/{new_post.id}")
Esempio n. 6
0
def create_post():
    if request.method == 'GET':
        if 'username' not in session:
            return redirect('/login')
        return render_template('newpost.html')
    else:
        title = request.form['title']
        text = request.form['text']
        post = Post(title, text)
        user = current_user()
        post.author_id = user.id
        db.session.add(post)
        db.session.commit()
        return redirect('/post/' + str(post.id))
Esempio n. 7
0
def save_post(user_id):
    """Create a new post"""
    working_id = request.form.get("id")

    if working_id:
        new_post = Post.query.get(working_id)
    else:
        new_post = Post()

    tags = request.form.getlist("tag")

    new_post.title = request.form.get("title")
    new_post.body = request.form.get("body")
    new_post.tags = Tag.query.filter(Tag.id.in_(tags)).all()

    print(new_post.tags)
    new_post.author_id = user_id
    db.session.add(new_post)
    db.session.commit()
    return redirect(f"/post/view/{new_post.id}")
Esempio n. 8
0
 def save(cls, request: Request, *args, **kwargs):
     """ Метод для сохранения поста
     :param request:
     :param kwargs:
     :return:
     """
     if request.get("id", False):
         post = blog.get_post(request.get("id"))
     else:
         post = Post()
     post.title = request.get("title")
     post.short = request.get("short")
     post.imgs = request.get("imgs", [])
     post.body = request.get("body", "")
     post.tags = request.get("tags", [])
     post.category = request.get("category", None)
     post.draft = request.get("draft", True)
     post.author_id = request.get("author_id", False)
     post.author_name = request.get("author_name", False)
     post.source = request.get("source", False)
     return {"post_id": post.save()}
Esempio n. 9
0
def create_db(db):
    db.drop_all()
    db.create_all()

    with codecs.open('data' + os.sep + 'authors.txt', 'r', 'utf-8') as f:
        for data in f.readlines():
            data = data.strip()
            if not data:
                continue
            new_author = Author()
            new_author.name = data
            db.session.add(new_author)

    with codecs.open('data' + os.sep + 'categories.txt', 'r', 'utf-8') as f:
        for data in f.readlines():
            data = data.strip()
            if not data:
                continue
            new_category = Category()
            new_category.name = data
            db.session.add(new_category)

    with codecs.open('data' + os.sep + 'posts.txt', 'r', 'utf-8') as f:
        regex = re.compile(r'^(\d+),\s*(\d+),\s*"(.*)",\s*"(.*)"')
        for data in f.readlines():
            data = data.strip()
            if not data:
                continue
            post_data = regex.match(data)
            if post_data:
                new_post = Post()
                new_post.title = unicode(post_data.group(3))
                new_post.content = unicode(post_data.group(4))
                new_post.author_id = int(post_data.group(1))
                new_post.category_id = int(post_data.group(2))
                db.session.add(new_post)
            else:
                print "Couldn't parse line."

    db.session.commit()