def __init__(self, form: SearchForm, save_request: bool = False, highlight: bool = True): logger = logging.getLogger(__name__) self._response = None self._error = False self._form = form self._highlight = highlight try: response = requests.get(form.url, params={'form': form.to_json()}) response.raise_for_status() self._response = response.json() except requests.exceptions.Timeout: logger.error("Search Request Connection Timeout") self._error = True except requests.exceptions.HTTPError: self._error = True logger.error("Http Error occured") except requests.exceptions.RequestException: logger.error("Some unknown request exception occured") self._error = True if self._response is None: self._error = True elif settings.SAVE_SEARCH_QUERIES and save_request and form.interesting: SearchQuery.objects.create(query=form.to_dict())