Example #1
0
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):
Example #2
0
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"