def all_books(): if request.method == "GET": books = model.get_books() return json.dumps([b.__dict__ for b in books]) elif request.method == "POST": content = request.get_json(silent=True) if not content: abort(400) print(content) code = content['code'] title = content['title'] publication_date = content['publication_date'] description = content['description'] copies = content['copies'] author = content['author'] publisher = content['publisher'] state = content['state'] genre = content['genre'] library = content['library'] b = Book(code, title, publication_date,description,copies,author,publisher,state,genre,library) if model.add_book(b) == False: abort(418) return Response('', 200)
def get_books_by_publisher(self,publisher): query = ("SELECT code,title,publication_date,description, copies, author, publisher, state, genre, library FROM Book WHERE publisher = (%s) ") val = (publisher.name,) self.cursor.execute(query, val) myresult = self.cursor.fetchall() l=[] for i in myresult: l.append(Book(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9])) return l
def get_books(self): query = "SELECT code,title,publication_date,description, copies, author, publisher, state, genre, library FROM Book" self.cursor.execute(query) myresult = self.cursor.fetchall() l=[] if len(myresult) !=0: for i in myresult: l.append(Book(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9])) return l
def get_book(self, code): query = "SELECT code,title,publication_date,description, copies, author, publisher, state, genre, library FROM Book WHERE code = (%s)" val = (code,) self.cursor.execute(query, val) myresult = self.cursor.fetchall() print(myresult) if len(myresult) != 0: b = Book(myresult[0][0],myresult[0][1],myresult[0][2],myresult[0][3],myresult[0][4],myresult[0][5],myresult[0][6],myresult[0][7],myresult[0][8],myresult[0][9]) return b
def book(code): book = model.get_book(code) if book is None: abort(404) if request.method == "GET": return json.dumps(book.__dict__) elif request.method == "DELETE": ok = model.del_book(code) if not ok: abort(500) return Response('', status=200, mimetype='application/json') elif request.method == "PUT": content = request.get_json(silent=True) if not content: abort(400) req_code = content['code'] if int(code) != int(req_code): abort(422) title = content['title'] publication_date = content['publication_date'] description = content['description'] copies = content['copies'] author = content['author'] publisher = content['publisher'] state = content['state'] genre = content['genre'] library = content['library'] b = Book(code, title, publication_date,description,copies,author,publisher,state,genre,library) if model.update_state(b) == False: abort(500) return Response('', status=200, mimetype='application/json')