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()
def append_log_impl(args): try: user = user_by_user_id(args['user_id']) logs = [] if args['logs'] is None: return Response(True, "Logs Appended", LogSchema(many=True).dumps(logs).data).output() for log_dict in args['logs']: validate(log_dict) log = None if log_dict.has_key('id') and log_dict['id'] is not None: log = log_by_id(log_dict['id']) if log is None: log = ReadingLog() else: log = ReadingLog() log.book = find_book_with_name(log_dict['book_name']).id log.date = parse(log_dict['date']) log.pages = log_dict['pages'] log.uuid = log_dict['uuid'] log.user = user.user_id db.session.add(log) logs.append(log) db.session.commit() return Response(True, "Logs Appended", LogSchema(many=True).dumps(logs).data).output() except Exception as e: return Response(False, str(e), None).output()
def update_book_impl(args): try: book = user_book_from_book_id(args['book_id'], user_by_user_id(args['user_id']).id) if args.has_key("pages") and args['pages'] is not None: book.pages = int(args['pages']) if args.has_key("cover_url") and args['cover_url'] is not None: book.cover_url = args['cover_url'] if args.has_key("loved") and args['loved'] is not None: book.loved = args['loved'] if args.has_key("pages_read") and args['pages_read'] is not None: book.pages_read = args['pages_read'] if args.has_key("snippet") and args['snippet'] is not None: book.snippet = args['snippet'] if args.has_key("rate") and args['rate'] is not None: book.rate = args['rate'] if args.has_key("loved") and args['loved'] is not None: book.loved = args['loved'] db.session.commit() return Response(True, "Book Updated", UserBookSchema().dumps(book).data).output() except Exception as e: return Response(False, str(e), None).output()
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()
def get_user_impl(args): try: return Response( True, "User Listed", UserSchema().dumps(user_by_user_id( args['user_id'])).data).output() except Exception as e: return Response(False, str(e), None).output()
def delete_log_impl(args): try: user = user_by_user_id(args['user_id']) log = log_by_id(args['log_id']) db.session.delete(log) db.session.commit() return simple_response(True, "Log Deleted") except Exception as e: return Response(False, str(e), None).output()
def update_log_impl(args): try: user = user_by_user_id(args['user_id']) log = log_by_id(args['log_id']) log.pages = args['pages'] if args['pages'] is not None else log.pages log.date = parse(args['date']) if args['date'] is not None else log.date db.session.commit() return Response(True, "Log Updated", LogSchema().dumps(log).data).output() except Exception as e: return Response(False, str(e), None).output()
def update_log_impl(args): try: user = user_by_user_id(args['user_id']) log = log_by_id(args['log_id']) log.pages = args['pages'] if args['pages'] is not None else log.pages log.date = parse( args['date']) if args['date'] is not None else log.date db.session.commit() return Response(True, "Log Updated", LogSchema().dumps(log).data).output() except Exception as e: return Response(False, str(e), None).output()
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()
def update_user_impl(args): try: user = user_by_user_id(args["user_id"]) if args["auth_token"] is not None: user.auth_token = args["auth_token"] if args["auth_token_secret"] is not None: user.auth_token_secret = args["auth_token_secret"] if args["name"] is not None: user.name = args["name"] db.session.commit() return Response(True, "User Updated", UserSchema().dumps(user).data).output() except Exception as e: return Response(False, str(e), None).output()
def create_new_user_impl(args): try: validate(args) user = None try: user = user_by_user_id(args["user_id"]) except Exception as e: user = User() user.user_id = args["user_id"] db.session.add(user) user.auth_token = args["auth_token"] user.auth_token_secret = args["auth_token_secret"] user.name = args["name"] db.session.commit() return Response(True, "User Created", UserSchema().dumps(user).data).output() except Exception as e: return Response(False, str(e), None).output()
def update_user_impl(args): try: user = user_by_user_id(args['user_id']) if args['auth_token'] is not None: user.auth_token = args['auth_token'] if args['auth_token_secret'] is not None: user.auth_token_secret = args['auth_token_secret'] if args['name'] is not None: user.name = args['name'] db.session.commit() return Response(True, "User Updated", UserSchema().dumps(user).data).output() except Exception as e: return Response(False, str(e), None).output()
def create_new_user_impl(args): try: validate(args) user = None try: user = user_by_user_id(args['user_id']) except Exception as e: user = User() user.user_id = args['user_id'] db.session.add(user) user.auth_token = args['auth_token'] user.auth_token_secret = args['auth_token_secret'] user.name = args['name'] db.session.commit() return Response(True, "User Created", UserSchema().dumps(user).data).output() except Exception as e: return Response(False, str(e), None).output()
def book_ref(self): return UserBooks.query.filter(UserBooks.user_id == user_by_user_id(self.user).id, UserBooks.book_id == self.book).first()
def list_user_books(user_id): list = UserBooks.query.filter( UserBooks.user_id == user_by_user_id(user_id).id).all() return list
def list_user_books(user_id): list = UserBooks.query.filter(UserBooks.user_id == user_by_user_id(user_id).id).all() return list
def delete_user_impl(args): try: db.session.delete(user_by_user_id(args['user_id'])) return Response(True, "User Deleted", None).output() except Exception as e: return Response(False, str(e), None).output()
def get_user_impl(args): try: return Response(True, "User Listed", UserSchema().dumps(user_by_user_id(args["user_id"])).data).output() except Exception as e: return Response(False, str(e), None).output()
def delete_user_impl(args): try: db.session.delete(user_by_user_id(args["user_id"])) return Response(True, "User Deleted", None).output() except Exception as e: return Response(False, str(e), None).output()