Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
    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)
Пример #5
0
    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)
Пример #6
0
    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)
Пример #7
0
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)
Пример #8
0
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)
Пример #9
0
    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)
Пример #10
0
 def _listBooks(self, request):
     res = BookForms()
     res.items = [copyToForm(BookForm(), item) for item in Book.query().fetch()]
     return res
Пример #11
0
    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
Пример #12
0
    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