rating, date and authors are optional in google's book apis

This commit is contained in:
jesopo 2018-07-22 20:53:44 +01:00
parent e73d056b34
commit 8cf45c2432

View file

@ -26,12 +26,19 @@ class Module(object):
title = book["title"] title = book["title"]
sub_title = (", %s" % book.get("subtitle") sub_title = (", %s" % book.get("subtitle")
) if book.get("subtitle") else "" ) if book.get("subtitle") else ""
authors = ", ".join(book["authors"])
date = book["publishedDate"] authors = ", ".join(book.get("authors", []))
rating = book["averageRating"] authors = " - %s" % authors if authors else ""
date = book.get("publishedDate", "")
date = " (%s)" % date if date else ""
rating = book.get("averageRating", -1)
rating = " (%s/5.0)" % rating if not rating == -1 else ""
id = re.search(REGEX_BOOKID, book["infoLink"]).group(1) id = re.search(REGEX_BOOKID, book["infoLink"]).group(1)
info_link = URL_BOOKINFO % id info_link = " %s" % (URL_BOOKINFO % id)
event["stdout"].write("%s - %s (%s)%s %s (%s/5.0)" % ( event["stdout"].write("%s%s%s%s%s%s" % (
title, authors, date, sub_title, info_link, rating)) title, authors, date, sub_title, info_link, rating))
else: else:
event["stderr"].write("Unable to find book") event["stderr"].write("Unable to find book")