Adds timeouts to get requests

This commit is contained in:
Mouse Reeve
2021-06-17 12:34:54 -07:00
parent 0d16d3c5a4
commit cf3869ad32
2 changed files with 12 additions and 4 deletions

View File

@ -1,4 +1,5 @@
""" interface with whatever connectors the app has """
from datetime import datetime
import importlib
import logging
import re
@ -29,9 +30,11 @@ def search(query, min_confidence=0.1, return_first=False):
isbn = re.sub(r"[\W_]", "", query)
maybe_isbn = len(isbn) in [10, 13] # ISBN10 or ISBN13
timeout = 15
start_time = datetime.now()
for connector in get_connectors():
result_set = None
if maybe_isbn and connector.isbn_search_url and connector.isbn_search_url == "":
if maybe_isbn and connector.isbn_search_url and connector.isbn_search_url != "":
# Search on ISBN
try:
result_set = connector.isbn_search(isbn)
@ -59,6 +62,8 @@ def search(query, min_confidence=0.1, return_first=False):
"results": result_set,
}
)
if (datetime.now() - start_time).seconds >= timeout:
break
if return_first:
return None