Adds timeouts to get requests
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user