def book_add(request): if request.method is "POST": form = BookForm(request.POST) if form.is_valid(): form.save() return render_to_response("common/success.html") else: form = BookForm() variables = RequestContext(request, {"form": form}) return render_to_response("crud/book/book_add.html", variables)
def book_add(request): if request.method is 'POST': form = BookForm(request.POST) if form.is_valid(): form.save() return render_to_response('common/success.html') else: form = BookForm() variables = RequestContext(request, { 'form': form }) return render_to_response('crud/book/book_add.html', variables)
def book_edit(request, id): book = Book.objects.get(pk=id) if request.method == "POST": form = BookForm(request.POST, instance=book) if form.is_valid(): form.save() return render_to_response("common/success.html") else: form = BookForm(instance=book) variables = RequestContext(request, {"form": form}) return render_to_response("crud/book/book_edit.html", variables)
def getIsbnDetails(self, request): """get a Book""" user = endpoints.get_current_user() if not user: raise endpoints.UnauthorizedException('Authorization required') url = "http://isbndb.com/api/v2/json/N295NRWI/book/" + request.sbId result = urlfetch.fetch(url) logging.info(result.status_code) if result.status_code == 200: logging.info(result.content) bookdata = json.loads(result.content) bf = BookForm() if bookdata["data"] and bookdata["data"][0]: bf.title = bookdata["data"][0]["title_latin"] bf.publisher = bookdata["data"][0]["publisher_name"] bf.editionYear = bookdata["data"][0]["edition_info"] bf.isbn = request.sbId if bookdata["data"][0]["author_data"] and bookdata["data"][0][ "author_data"][0]: bf.author = bookdata["data"][0]["author_data"][0]["name"] #TODO: fill language #bf.language = bookdata["data"][0]["language"] return bf else: logging.error(result) raise endpoints.NotFoundException( 'No book found with Isbn Id: %s' % request.sbId)
def _addBook(self, request): try: data = {field.name: getattr(request, field.name) for field in request.all_fields()} data['key'] = ndb.Key(Book, data['title']) del data['websafeKey'] r = Book(**data).put() return copyToForm(BookForm(), r.get()) except Exception, e: raise endpoints.BadRequestException(e.message)
def getIsbnDetails(self, request): """get a Book""" user = endpoints.get_current_user() if not user: raise endpoints.UnauthorizedException('Authorization required') url = "http://isbndb.com/api/v2/json/N295NRWI/book/"+request.sbId result = urlfetch.fetch(url) logging.info(result.status_code) if result.status_code == 200: logging.info(result.content) bookdata = json.loads(result.content) bf = BookForm() if bookdata["data"] and bookdata["data"][0]: bf.title = bookdata["data"][0]["title_latin"] bf.publisher = bookdata["data"][0]["publisher_name"] bf.editionYear = bookdata["data"][0]["edition_info"] bf.isbn = request.sbId if bookdata["data"][0]["author_data"] and bookdata["data"][0]["author_data"][0]: bf.author = bookdata["data"][0]["author_data"][0]["name"] #TODO: fill language #bf.language = bookdata["data"][0]["language"] return bf else: logging.error(result) raise endpoints.NotFoundException( 'No book found with Isbn Id: %s' % request.sbId)
def book_add(request): if request.method is 'POST': form = BookForm(request.POST) if form.is_valid(): form.save() return render_to_response('common/success.html') else: form = BookForm() variables = RequestContext(request, {'form': form}) return render_to_response('crud/book/book_add.html', variables)
def book_edit(request, id): book = Book.objects.get(pk=id) if request.method == "POST": form = BookForm(request.POST, instance=book) if form.is_valid(): form.save() return render_to_response('common/success.html') else: form = BookForm(instance=book) variables = RequestContext(request, {'form': form}) return render_to_response("crud/book/book_edit.html", variables)
def _updateBook(self, request): try: book = get_entity_by_websafeKey_key(request.websafeKey) for field in request.all_fields(): data = getattr(request, field.name) # only copy fields where we get data if data not in (None, []): # special handling for dates (convert string to Date) if field.name in ('created'): continue setattr(book, field.name, data) book.put() return copyToForm(BookForm(), book) except Exception, e: raise endpoints.BadRequestException(e.message)
def _listBooks(self, request): res = BookForms() res.items = [copyToForm(BookForm(), item) for item in Book.query().fetch()] return res
def _copyBookToForm(self, book): """Copy relevant fields from Book to BookForm.""" bf = BookForm() bf.title = string.capwords(book.title) bf.author = book.author bf.sbId = book.sbId bf.language = book.language bf.dueDate = str(book.dueDate) bf.volume = book.volume bf.isbn = book.isbn bf.price = book.price bf.notes = book.notes bf.suggestedGrade = book.suggestedGrade bf.category = book.category bf.publisher = book.publisher bf.mediaType = book.mediaType bf.editionYear = book.editionYear bf.donor = book.donor bf.comments = book.comments bf.createdBy = book.createdBy bf.createdDate = str(book.createdDate) bf.lastUpdatedBy = book.lastUpdatedBy bf.lastUpdatedDate = str(book.lastUpdatedDate) bf.reference = book.reference bf.check_initialized() return bf