コード例 #1
0
    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())