示例#1
0
def prepare_books(directory="books"):
    session = db_session.create_session()
    names = [f"{obj.name}.txt" for obj in session.query(Book).all()]
    for book in os.listdir(directory):
        if book not in names:
            with open(f"{directory}/{book}", encoding="utf-8",
                      errors="ignore") as file:
                new_book = Book()
                new_book.name = book.split(".")[0]
                new_book.author = file.readline().strip()
                new_book.path = f"{directory}/{book}"
                session.add(new_book)
    session.commit()
示例#2
0
def add_book():
    form = AddBookForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        book = Book()
        book.name = form.name.data
        book.author = form.author.data
        book.text = form.text.data
        book.is_private = form.is_private.data
        path = add_new_book(book, book.text)
        book.path = path
        user = session.query(User).filter(User.id == current_user.id).first()
        user.added_books.append(book)
        session.merge(user)
        session.commit()
        return redirect("/")
    return render_template("add_book.html",
                           title="Добавление своей книги",
                           form=form)
示例#3
0
def add_book():
    form = BookForm()

    if form.validate_on_submit():
        session = db_session.create_session()
        user = session.query(User).filter(User.id == current_user.id).first()
        id = len(session.query(Book).all())
        book = Book()
        book.author = current_user.id
        book.title = form.title.data
        book.about = form.about.data
        book.year_published = form.year_published.data
        if len(current_user.books_written
               ) == 0 or current_user.books_written is None:
            user.books_written += str(id + 1)
        else:
            user.books_written += ', ' + str(id + 1)
        session.add(book)
        session.commit()
        f = request.files['file']
        f.save('static/img/{}.jpg'.format(str(id + 1)))
        return redirect('/')
    return render_template('new_book.html', title='Adding a book', form=form)