from flask_babel import gettext import requests.exceptions import searx.poolrequests as requests_lib from searx.engines import (categories, engines, settings) from searx.answerers import ask from searx.external_bang import get_bang_url from searx.utils import gen_useragent from searx.query import RawTextQuery, SearchQuery, VALID_LANGUAGE_CODE from searx.results import ResultContainer from searx import logger from searx.plugins import plugins from searx.exceptions import SearxParameterException logger = logger.getChild('search') max_request_timeout = settings.get('outgoing', {}).get('max_request_timeout' or None) if max_request_timeout is None: logger.info('max_request_timeout={0}'.format(max_request_timeout)) else: if isinstance(max_request_timeout, float): logger.info( 'max_request_timeout={0} second(s)'.format(max_request_timeout)) else: logger.critical( 'outgoing.max_request_timeout if defined has to be float') from sys import exit exit(1) def send_http_request(engine, request_params):
from searx.external_bang import get_bang_url from searx.utils import gen_useragent from searx.results import ResultContainer from searx import logger from searx.plugins import plugins from searx.exceptions import ( SearxEngineAccessDeniedException, SearxEngineCaptchaException, SearxEngineTooManyRequestsException, ) from searx.metrology.error_recorder import record_exception, record_error logger = logger.getChild("search") max_request_timeout = settings.get("outgoing", {}).get("max_request_timeout" or None) if max_request_timeout is None: logger.info("max_request_timeout={0}".format(max_request_timeout)) else: if isinstance(max_request_timeout, float): logger.info("max_request_timeout={0} second(s)".format(max_request_timeout)) else: logger.critical("outgoing.max_request_timeout if defined has to be float") import sys sys.exit(1) class EngineRef: __slots__ = "name", "category", "from_bang"