|
|
|
@ -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)
|
|
|
|
|