diff --git a/cps/admin.py b/cps/admin.py index 086b614e8..0e0a61018 100644 --- a/cps/admin.py +++ b/cps/admin.py @@ -1838,6 +1838,9 @@ def _configuration_update_helper(): services.goodreads_support.connect(config.config_goodreads_api_key, config.config_use_goodreads) + # Google Books API configuration + reboot_required |=_config_string(to_save, "config_googlebooks_api_key") + _config_int(to_save, "config_updatechannel") # Reverse proxy login configuration diff --git a/cps/config_sql.py b/cps/config_sql.py index a07195ec9..bbca32415 100644 --- a/cps/config_sql.py +++ b/cps/config_sql.py @@ -117,6 +117,7 @@ class _Settings(_Base): config_use_goodreads = Column(Boolean, default=False) config_goodreads_api_key = Column(String) + config_googlebooks_api_key = Column(String, default='') config_register_email = Column(Boolean, default=False) config_login_type = Column(Integer, default=0) diff --git a/cps/metadata_provider/google.py b/cps/metadata_provider/google.py index df9c0dc24..63a0a9519 100644 --- a/cps/metadata_provider/google.py +++ b/cps/metadata_provider/google.py @@ -23,7 +23,7 @@ from datetime import datetime import requests -from cps import logger +from cps import logger, config from cps.isoLanguages import get_lang3, get_language_name from cps.services.Metadata import MetaRecord, MetaSourceInfo, Metadata @@ -38,6 +38,7 @@ class Google(Metadata): BOOK_URL = "https://books.google.com/books?id=" SEARCH_URL = "https://www.googleapis.com/books/v1/volumes?q=" ISBN_TYPE = "ISBN_13" + API_KEY = "&key=" + config.config_googlebooks_api_key def search( self, query: str, generic_cover: str = "", locale: str = "en" @@ -50,7 +51,7 @@ class Google(Metadata): tokens = [quote(t.encode("utf-8")) for t in title_tokens] query = "+".join(tokens) try: - results = requests.get(Google.SEARCH_URL + query) + results = requests.get(Google.SEARCH_URL + query + Google.API_KEY) results.raise_for_status() except Exception as e: log.warning(e) diff --git a/cps/templates/config_edit.html b/cps/templates/config_edit.html index 4018db2e9..c8b77d8c6 100644 --- a/cps/templates/config_edit.html +++ b/cps/templates/config_edit.html @@ -163,6 +163,10 @@ {% endif %} +