forked from Icycoide/searxng
[enh] improve torrent results
This commit is contained in:
parent
4e2dae30f0
commit
830f70a6bc
2 changed files with 44 additions and 3 deletions
|
@ -24,6 +24,7 @@ search_url = url + 'search/{search_term}/{pageno}/'
|
|||
|
||||
# specific xpath variables
|
||||
magnet_xpath = './/a[@title="Torrent magnet link"]'
|
||||
torrent_xpath = './/a[@title="Download torrent file"]'
|
||||
content_xpath = './/span[@class="font11px lightgrey block"]'
|
||||
|
||||
|
||||
|
@ -60,6 +61,9 @@ def response(resp):
|
|||
method="text"))
|
||||
seed = result.xpath('.//td[contains(@class, "green")]/text()')[0]
|
||||
leech = result.xpath('.//td[contains(@class, "red")]/text()')[0]
|
||||
filesize = result.xpath('.//td[contains(@class, "nobr")]/text()')[0]
|
||||
filesize_multiplier = result.xpath('.//td[contains(@class, "nobr")]//span/text()')[0]
|
||||
files = result.xpath('.//td[contains(@class, "center")][2]/text()')[0]
|
||||
|
||||
# convert seed to int if possible
|
||||
if seed.isdigit():
|
||||
|
@ -73,7 +77,31 @@ def response(resp):
|
|||
else:
|
||||
leech = 0
|
||||
|
||||
# convert filesize to byte if possible
|
||||
try:
|
||||
filesize = float(filesize)
|
||||
|
||||
# convert filesize to byte
|
||||
if filesize_multiplier == 'TB':
|
||||
filesize = int(filesize * 1024*1024*1024*1024)
|
||||
elif filesize_multiplier == 'GB':
|
||||
filesize = int(filesize * 1024*1024*1024)
|
||||
elif filesize_multiplier == 'MB':
|
||||
filesize = int(filesize * 1024*1024)
|
||||
elif filesize_multiplier == 'kb':
|
||||
filesize = int(filesize * 1024)
|
||||
except:
|
||||
filesize = None
|
||||
|
||||
# convert files to int if possible
|
||||
if files.isdigit():
|
||||
files = int(files)
|
||||
else:
|
||||
files = None
|
||||
|
||||
magnetlink = result.xpath(magnet_xpath)[0].attrib['href']
|
||||
|
||||
torrentfile = result.xpath(torrent_xpath)[0].attrib['href']
|
||||
|
||||
# append result
|
||||
results.append({'url': href,
|
||||
|
@ -81,7 +109,10 @@ def response(resp):
|
|||
'content': content,
|
||||
'seed': seed,
|
||||
'leech': leech,
|
||||
'filesize': filesize,
|
||||
'files': files,
|
||||
'magnetlink': magnetlink,
|
||||
'torrentfile':torrentfile,
|
||||
'template': 'torrent.html'})
|
||||
|
||||
# return results sorted by seeder
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue