mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-04 03:27:06 -05:00 
			
		
		
		
	[fix] qwant engine - prevent API locale exception on lang 'all'
Has been reported in [1], error message::
    Error
        Error: searx.exceptions.SearxEngineAPIException
        Percentage: 0
        Parameters: ('API error::locale must be a string,locale must be one of
        the following values: en_gb, en_ie, en_us, en_ca, en_in, en_my, en_au,
        en_nz, cy_gb, gd_gb, de_de, de_ch, de_at, fr_fr, br_fr, fr_be, fr_ch,
        fr_ca, fr_ad, fc_ca, ec_ca, co_fr, es_es, es_ar, es_cl, es_co, es_mx,
        es_pe, es_ad, ca_es, ca_ad, ca_fr, eu_es, eu_fr, it_it, it_ch, pt_br,
        pt_pt, pt_ad, nl_be, nl_nl, pl_pl, zh_hk, zh_cn, fi_fi, bg_bg, et_ee,
        hu_hu, da_dk, nb_no, sv_se, ko_kr, th_th, cs_cz, ro_ro, el_gr',)
        File name: searx/engines/qwant.py:114
        Function: response
        Code: raise SearxEngineAPIException('API error::' + msg)
[1] https://github.com/searxng/searxng/issues/222
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
			
			
This commit is contained in:
		
							parent
							
								
									ca57c7421b
								
							
						
					
					
						commit
						fe67f1478f
					
				@ -84,14 +84,16 @@ def request(query, params):
 | 
				
			|||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # add language tag
 | 
					    # add language tag
 | 
				
			||||||
    if params['language'] != 'all':
 | 
					    if params['language'] == 'all':
 | 
				
			||||||
 | 
					        params['url'] += '&locale=en_us'
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
        language = match_language(
 | 
					        language = match_language(
 | 
				
			||||||
            params['language'],
 | 
					            params['language'],
 | 
				
			||||||
            # pylint: disable=undefined-variable
 | 
					            # pylint: disable=undefined-variable
 | 
				
			||||||
            supported_languages,
 | 
					            supported_languages,
 | 
				
			||||||
            language_aliases,
 | 
					            language_aliases,
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        params['url'] += '&locale=' + language.replace('-', '_')
 | 
					        params['url'] += '&locale=' + language.replace('-', '_').lower()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    params['raise_for_httperror'] = False
 | 
					    params['raise_for_httperror'] = False
 | 
				
			||||||
    return params
 | 
					    return params
 | 
				
			||||||
@ -144,8 +146,8 @@ def response(resp):
 | 
				
			|||||||
        mainline_items = row.get('items', [])
 | 
					        mainline_items = row.get('items', [])
 | 
				
			||||||
        for item in mainline_items:
 | 
					        for item in mainline_items:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            title = item['title']
 | 
					            title = item.get('title', None)
 | 
				
			||||||
            res_url = item['url']
 | 
					            res_url = item.get('url', None)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if mainline_type == 'web':
 | 
					            if mainline_type == 'web':
 | 
				
			||||||
                content = item['desc']
 | 
					                content = item['desc']
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user