|  | @@ -19,11 +19,21 @@ from time import time
 | 
	
		
			
			| 19 | 19 |  # engine dependent config
 | 
	
		
			
			| 20 | 20 |  categories = ['general']
 | 
	
		
			
			| 21 | 21 |  paging = True
 | 
	
		
			
			| 22 |  | -number_of_results = 5
 | 
	
		
			
			|  | 22 | +number_of_results = 10
 | 
	
		
			
			|  | 23 | +language_support = True
 | 
	
		
			
			|  | 24 | +safesearch = True
 | 
	
		
			
			| 23 | 25 |  
 | 
	
		
			
			| 24 |  | -# search-url, invalid HTTPS certificate
 | 
	
		
			
			|  | 26 | +# search-url
 | 
	
		
			
			| 25 | 27 |  base_url = 'https://gigablast.com/'
 | 
	
		
			
			| 26 |  | -search_string = 'search?{query}&n={number_of_results}&s={offset}&format=xml&qh=0&rxiyd={rxiyd}&rand={rand}'
 | 
	
		
			
			|  | 28 | +search_string = 'search?{query}'\
 | 
	
		
			
			|  | 29 | +    '&n={number_of_results}'\
 | 
	
		
			
			|  | 30 | +    '&s={offset}'\
 | 
	
		
			
			|  | 31 | +    '&format=xml'\
 | 
	
		
			
			|  | 32 | +    '&qh=0'\
 | 
	
		
			
			|  | 33 | +    '&rxiyd={rxiyd}'\
 | 
	
		
			
			|  | 34 | +    '&rand={rand}'\
 | 
	
		
			
			|  | 35 | +    '&qlang={lang}'\
 | 
	
		
			
			|  | 36 | +    '&ff={safesearch}'
 | 
	
		
			
			| 27 | 37 |  
 | 
	
		
			
			| 28 | 38 |  # specific xpath variables
 | 
	
		
			
			| 29 | 39 |  results_xpath = '//response//result'
 | 
	
	
		
			
			|  | @@ -36,12 +46,23 @@ content_xpath = './/sum'
 | 
	
		
			
			| 36 | 46 |  def request(query, params):
 | 
	
		
			
			| 37 | 47 |      offset = (params['pageno'] - 1) * number_of_results
 | 
	
		
			
			| 38 | 48 |  
 | 
	
		
			
			| 39 |  | -    search_path = search_string.format(
 | 
	
		
			
			| 40 |  | -        query=urlencode({'q': query}),
 | 
	
		
			
			| 41 |  | -        offset=offset,
 | 
	
		
			
			| 42 |  | -        number_of_results=number_of_results,
 | 
	
		
			
			| 43 |  | -        rxiyd=randint(10000, 10000000),
 | 
	
		
			
			| 44 |  | -        rand=int(time()))
 | 
	
		
			
			|  | 49 | +    if params['language'] == 'all':
 | 
	
		
			
			|  | 50 | +        language = 'xx'
 | 
	
		
			
			|  | 51 | +    else:
 | 
	
		
			
			|  | 52 | +        language = params['language'][0:2]
 | 
	
		
			
			|  | 53 | +
 | 
	
		
			
			|  | 54 | +    if params['safesearch'] >= 1:
 | 
	
		
			
			|  | 55 | +        safesearch = 1
 | 
	
		
			
			|  | 56 | +    else:
 | 
	
		
			
			|  | 57 | +        safesearch = 0
 | 
	
		
			
			|  | 58 | +
 | 
	
		
			
			|  | 59 | +    search_path = search_string.format(query=urlencode({'q': query}),
 | 
	
		
			
			|  | 60 | +                                       offset=offset,
 | 
	
		
			
			|  | 61 | +                                       number_of_results=number_of_results,
 | 
	
		
			
			|  | 62 | +                                       rxiyd=randint(10000, 10000000),
 | 
	
		
			
			|  | 63 | +                                       rand=int(time()),
 | 
	
		
			
			|  | 64 | +                                       lang=language,
 | 
	
		
			
			|  | 65 | +                                       safesearch=safesearch)
 | 
	
		
			
			| 45 | 66 |  
 | 
	
		
			
			| 46 | 67 |      params['url'] = base_url + search_path
 | 
	
		
			
			| 47 | 68 |  
 |