Ejemplo n.º 1
0
def append_book_impl(args):

    try:
        user = user_by_user_id(args['user_id'])
        books = []
        if args['books'] is None:
            return Response(True, "Books Appended", UserBookSchema(many=True).dumps(books).data).output()
        for book_dict in args['books']:
            validate(book_dict)
            book_name = book_dict['name']
            book = dao.find_book_with_name(book_name)
            if book is None:
                book = Book(book_name, book_dict['author'], book_dict['category'])
                db.session.add(book)
                db.session.commit()
            try:
                user_book = user_book_from_book_name(book_name, user_by_user_id(args['user_id']).id)
                user_book.pages = book_dict['pages']
                user_book.pages_read = book_dict['pages_read']
                user_book.rate = book_dict['rate']
                user_book.loved = book_dict['loved']
                user_book.snippet = book_dict['snippet']
                user_book.cover_url = book_dict['cover_url']
            except Exception as e:
                user_book = UserBooks(user, book,  book_dict['pages_read'],  book_dict['pages'], book_dict['rate'], book_dict["snippet"])
                user_book.cover_url = book_dict['cover_url']
                db.session.add(user_book)
            db.session.commit()
            books.append(user_book)
        return Response(True, "Books Appended", UserBookSchema(many=True).dumps(books).data).output()
    except Exception as e:
        return Response(False, str(e), None).output()
Ejemplo n.º 2
0
def delete_book_impl(args):
    try:
        book = user_book_from_book_name(args['book_name'], user_by_user_id(args['user_id']).id)
        db.session.delete(book)
        db.session.commit()
        return Response(True, "Book Deleted", None).output()
    except Exception as e:
        return Response(False, str(e), None).output()
Ejemplo n.º 3
0
def delete_book_impl(args):
    try:
        book = user_book_from_book_name(args['book_name'],
                                        user_by_user_id(args['user_id']).id)
        db.session.delete(book)
        db.session.commit()
        return Response(True, "Book Deleted", None).output()
    except Exception as e:
        return Response(False, str(e), None).output()
Ejemplo n.º 4
0
def append_book_impl(args):

    try:
        user = user_by_user_id(args['user_id'])
        books = []
        if args['books'] is None:
            return Response(
                True, "Books Appended",
                UserBookSchema(many=True).dumps(books).data).output()
        for book_dict in args['books']:
            validate(book_dict)
            book_name = book_dict['name']
            book = dao.find_book_with_name(book_name)
            if book is None:
                book = Book(book_name, book_dict['author'],
                            book_dict['category'])
                db.session.add(book)
                db.session.commit()
            try:
                user_book = user_book_from_book_name(
                    book_name,
                    user_by_user_id(args['user_id']).id)
                user_book.pages = book_dict['pages']
                user_book.pages_read = book_dict['pages_read']
                user_book.rate = book_dict['rate']
                user_book.loved = book_dict['loved']
                user_book.snippet = book_dict['snippet']
                user_book.cover_url = book_dict['cover_url']
            except Exception as e:
                user_book = UserBooks(user, book, book_dict['pages_read'],
                                      book_dict['pages'], book_dict['rate'],
                                      book_dict["snippet"])
                user_book.cover_url = book_dict['cover_url']
                db.session.add(user_book)
            db.session.commit()
            books.append(user_book)
        return Response(True, "Books Appended",
                        UserBookSchema(many=True).dumps(books).data).output()
    except Exception as e:
        return Response(False, str(e), None).output()