diff options
Diffstat (limited to 'app/books/retriever.py')
-rw-r--r-- | app/books/retriever.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/app/books/retriever.py b/app/books/retriever.py index e98f46f..302009f 100644 --- a/app/books/retriever.py +++ b/app/books/retriever.py @@ -1,6 +1,12 @@ +import io import requests +import json +from django.conf import settings + + url = "https://www.googleapis.com/books/v1/volumes?q=isbn:%s&key=AIzaSyCCYn5v58R08msS06pRfOzTHANUuG2tSHI" % (book.isbn) + def get_book_isbn(book): print(book.title) if book.author_name != "Instapaper": @@ -20,7 +26,7 @@ def get_book_isbn(book): return isbn10 break -import json + def get_book_data(book): if book.author_name != "Instapaper": url = "https://openlibrary.org/api/books?bibkeys=ISBN:%s&format=json&jscmd=data" % book.isbn @@ -29,19 +35,19 @@ def get_book_data(book): obj = "ISBN:%s" % book.isbn try: pages = j[obj]['number_of_pages'] - except: + except: pages = '' try: publish_date = j[obj]['publish_date'] - except: + except: publish_date = '' try: publish_places = j[obj]['publish_places'][0]['name'] - except: + except: publish_places = '' try: openlib_url = j[obj]['url'] - except: + except: openlib_url = '' print("pages " + str(pages)) print("date " + publish_date) @@ -53,8 +59,9 @@ def get_book_data(book): book.openlib_url = openlib_url book.save() + def fetch_image(book): - path = '%s/%s/%s.jpg' %(settings.IMAGES_ROOT, 'book-covers', book.slug) + path = '%s/%s/%s.jpg' % (settings.IMAGES_ROOT, 'book-covers', book.slug) r = requests.get(book.image, timeout=6.001) im = io.StringIO(r.content) # constructs a StringIO holding the image im.save(path) |