Merge pull request #602 from mouse-reeve/connector-errors

Connector errors
This commit is contained in:
Mouse Reeve 2021-02-10 12:16:14 -08:00 committed by GitHub
commit 0e42b9cb70
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -107,7 +107,7 @@ class AbstractConnector(AbstractMinimalConnector):
if self.is_work_data(data): if self.is_work_data(data):
try: try:
edition_data = self.get_edition_from_work_data(data) edition_data = self.get_edition_from_work_data(data)
except KeyError: except (KeyError, ConnectorException):
# hack: re-use the work data as the edition data # hack: re-use the work data as the edition data
# this is why remote ids aren't necessarily unique # this is why remote ids aren't necessarily unique
edition_data = data edition_data = data
@ -116,7 +116,7 @@ class AbstractConnector(AbstractMinimalConnector):
try: try:
work_data = self.get_work_from_edition_data(data) work_data = self.get_work_from_edition_data(data)
work_data = dict_from_mappings(work_data, self.book_mappings) work_data = dict_from_mappings(work_data, self.book_mappings)
except KeyError: except (KeyError, ConnectorException):
work_data = mapped_data work_data = mapped_data
edition_data = data edition_data = data
@ -210,13 +210,20 @@ def get_data(url):
'User-Agent': settings.USER_AGENT, 'User-Agent': settings.USER_AGENT,
}, },
) )
except (RequestError, SSLError): except (RequestError, SSLError) as e:
logger.exception(e)
raise ConnectorException() raise ConnectorException()
if not resp.ok: if not resp.ok:
resp.raise_for_status() try:
resp.raise_for_status()
except requests.exceptions.HTTPError as e:
logger.exception(e)
raise ConnectorException()
try: try:
data = resp.json() data = resp.json()
except ValueError: except ValueError as e:
logger.exception(e)
raise ConnectorException() raise ConnectorException()
return data return data