diff --git a/bookwyrm/books_manager.py b/bookwyrm/books_manager.py index 3b865768..bc1fa723 100644 --- a/bookwyrm/books_manager.py +++ b/bookwyrm/books_manager.py @@ -5,6 +5,7 @@ from urllib.parse import urlparse from requests import HTTPError from bookwyrm import models +from bookwyrm.connectors import ConnectorException from bookwyrm.tasks import app @@ -55,7 +56,7 @@ def search(query, min_confidence=0.1): for connector in get_connectors(): try: result_set = connector.search(query, min_confidence=min_confidence) - except HTTPError: + except (HTTPError, ConnectorException): continue result_set = [r for r in result_set \ diff --git a/bookwyrm/connectors/abstract_connector.py b/bookwyrm/connectors/abstract_connector.py index ce1184d8..221c59c0 100644 --- a/bookwyrm/connectors/abstract_connector.py +++ b/bookwyrm/connectors/abstract_connector.py @@ -46,7 +46,10 @@ class AbstractMinimalConnector(ABC): ) if not resp.ok: resp.raise_for_status() - data = resp.json() + try: + data = resp.json() + except ValueError as e: + raise ConnectorException('Unable to parse json response', e) results = [] for doc in self.parse_search_data(data)[:10]: