mirror of
				https://github.com/searxng/searxng.git
				synced 2025-10-31 10:37:06 -04:00 
			
		
		
		
	[mod] int_or_zero refactored to searx_utils
This commit is contained in:
		
							parent
							
								
									c3232b0e1a
								
							
						
					
					
						commit
						33fd938016
					
				| @ -12,7 +12,7 @@ | ||||
| from lxml import html | ||||
| from searx.engines.xpath import extract_text | ||||
| from searx.url_utils import urlencode | ||||
| from searx.utils import get_torrent_size | ||||
| from searx.utils import get_torrent_size, int_or_zero | ||||
| 
 | ||||
| # engine dependent config | ||||
| categories = ['files', 'images', 'videos', 'music'] | ||||
| @ -49,14 +49,14 @@ def response(resp): | ||||
|     for result in dom.xpath(xpath_results): | ||||
|         # defaults | ||||
|         filesize = 0 | ||||
|         seed = 0 | ||||
|         leech = 0 | ||||
|         downloads = 0 | ||||
|         magnet_link = "" | ||||
|         torrent_link = "" | ||||
| 
 | ||||
|         # category in which our torrent belongs | ||||
|         try: | ||||
|             category = result.xpath(xpath_category)[0].attrib.get('title') | ||||
|         except: | ||||
|             pass | ||||
| 
 | ||||
|         # torrent title | ||||
|         page_a = result.xpath(xpath_title)[0] | ||||
| @ -74,12 +74,14 @@ def response(resp): | ||||
|                 # link to the torrent file | ||||
|                 torrent_link = url | ||||
| 
 | ||||
|         # get seeders and leechers | ||||
|         try: | ||||
|             seed = int(result.xpath(xpath_seeds)[0]) | ||||
|             leech = int(result.xpath(xpath_leeches)[0]) | ||||
|         except: | ||||
|             pass | ||||
|         # seed count | ||||
|         seed = int_or_zero(result.xpath(xpath_seeds)) | ||||
| 
 | ||||
|         # leech count | ||||
|         leech = int_or_zero(result.xpath(xpath_leeches)) | ||||
| 
 | ||||
|         # torrent downloads count | ||||
|         downloads = int_or_zero(result.xpath(xpath_downloads)) | ||||
| 
 | ||||
|         # let's try to calculate the torrent size | ||||
|         try: | ||||
| @ -89,12 +91,6 @@ def response(resp): | ||||
|         except: | ||||
|             pass | ||||
| 
 | ||||
|         # torrent downloads count | ||||
|         try: | ||||
|             downloads = result.xpath(xpath_downloads)[0] | ||||
|         except: | ||||
|             pass | ||||
| 
 | ||||
|         # content string contains all information not included into template | ||||
|         content = 'Category: "{category}". Downloaded {downloads} times.' | ||||
|         content = content.format(category=category, downloads=downloads) | ||||
|  | ||||
| @ -15,7 +15,7 @@ from lxml import html | ||||
| from searx.engines.xpath import extract_text | ||||
| from datetime import datetime | ||||
| from searx.url_utils import urlencode | ||||
| from searx.utils import get_torrent_size | ||||
| from searx.utils import get_torrent_size, int_or_zero | ||||
| 
 | ||||
| # engine dependent config | ||||
| categories = ['files', 'videos', 'music'] | ||||
| @ -26,17 +26,6 @@ base_url = 'https://www.tokyotosho.info/' | ||||
| search_url = base_url + 'search.php?{query}' | ||||
| 
 | ||||
| 
 | ||||
| # convert a variable to integer or return 0 if it's not a number | ||||
| def int_or_zero(num): | ||||
|     if isinstance(num, list): | ||||
|         if len(num) < 1: | ||||
|             return 0 | ||||
|         num = num[0] | ||||
|     if num.isdigit(): | ||||
|         return int(num) | ||||
|     return 0 | ||||
| 
 | ||||
| 
 | ||||
| # do search-request | ||||
| def request(query, params): | ||||
|     query = urlencode({'page': params['pageno'], 'terms': query}) | ||||
|  | ||||
| @ -290,6 +290,15 @@ def convert_str_to_int(number_str): | ||||
|         return 0 | ||||
| 
 | ||||
| 
 | ||||
| # convert a variable to integer or return 0 if it's not a number | ||||
| def int_or_zero(num): | ||||
|     if isinstance(num, list): | ||||
|         if len(num) < 1: | ||||
|             return 0 | ||||
|         num = num[0] | ||||
|     return convert_str_to_int(num) | ||||
| 
 | ||||
| 
 | ||||
| def is_valid_lang(lang): | ||||
|     is_abbr = (len(lang) == 2) | ||||
|     if is_abbr: | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user