Merge pull request #2255 from kvch/yacy-improvements
Add yacy improvements: HTTP digest auth, category checking
This commit is contained in:
		
						commit
						835d16cbb1
					
				@ -16,6 +16,8 @@ from json import loads
 | 
			
		||||
from dateutil import parser
 | 
			
		||||
from urllib.parse import urlencode
 | 
			
		||||
 | 
			
		||||
from requests.auth import HTTPDigestAuth
 | 
			
		||||
 | 
			
		||||
from searx.utils import html_to_text
 | 
			
		||||
 | 
			
		||||
# engine dependent config
 | 
			
		||||
@ -23,6 +25,8 @@ categories = ['general', 'images']  # TODO , 'music', 'videos', 'files'
 | 
			
		||||
paging = True
 | 
			
		||||
language_support = True
 | 
			
		||||
number_of_results = 5
 | 
			
		||||
http_digest_auth_user = ""
 | 
			
		||||
http_digest_auth_pass = ""
 | 
			
		||||
 | 
			
		||||
# search-url
 | 
			
		||||
base_url = 'http://localhost:8090'
 | 
			
		||||
@ -51,6 +55,9 @@ def request(query, params):
 | 
			
		||||
                          limit=number_of_results,
 | 
			
		||||
                          search_type=search_type)
 | 
			
		||||
 | 
			
		||||
    if http_digest_auth_user and http_digest_auth_pass:
 | 
			
		||||
        params['auth'] = HTTPDigestAuth(http_digest_auth_user, http_digest_auth_pass)
 | 
			
		||||
 | 
			
		||||
    # add language tag if specified
 | 
			
		||||
    if params['language'] != 'all':
 | 
			
		||||
        params['url'] += '&lr=lang_' + params['language'].split('-')[0]
 | 
			
		||||
@ -75,7 +82,7 @@ def response(resp):
 | 
			
		||||
 | 
			
		||||
    for result in search_results[0].get('items', []):
 | 
			
		||||
        # parse image results
 | 
			
		||||
        if result.get('image') and result.get('width') and result.get('height'):
 | 
			
		||||
        if resp.search_params.get('category') == 'images':
 | 
			
		||||
 | 
			
		||||
            result_url = ''
 | 
			
		||||
            if 'url' in result:
 | 
			
		||||
@ -104,5 +111,4 @@ def response(resp):
 | 
			
		||||
 | 
			
		||||
        # TODO parse video, audio and file results
 | 
			
		||||
 | 
			
		||||
    # return results
 | 
			
		||||
    return results
 | 
			
		||||
 | 
			
		||||
@ -97,7 +97,8 @@ def send_http_request(engine, request_params):
 | 
			
		||||
    request_args = dict(
 | 
			
		||||
        headers=request_params['headers'],
 | 
			
		||||
        cookies=request_params['cookies'],
 | 
			
		||||
        verify=request_params['verify']
 | 
			
		||||
        verify=request_params['verify'],
 | 
			
		||||
        auth=request_params['auth']
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    # setting engine based proxies
 | 
			
		||||
@ -281,7 +282,8 @@ def default_request_params():
 | 
			
		||||
        'data': {},
 | 
			
		||||
        'url': '',
 | 
			
		||||
        'cookies': {},
 | 
			
		||||
        'verify': True
 | 
			
		||||
        'verify': True,
 | 
			
		||||
        'auth': None
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user