forked from zaclys/searxng
		
	[mod] int_or_zero refactored to searx_utils
This commit is contained in:
		
							parent
							
								
									c3232b0e1a
								
							
						
					
					
						commit
						33fd938016
					
				
					 3 changed files with 23 additions and 29 deletions
				
			
		|  | @ -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 | ||||
|         category = result.xpath(xpath_category)[0].attrib.get('title') | ||||
|         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…
	
	Add table
		
		Reference in a new issue
	
	 misnyo
						misnyo