forked from zaclys/searxng
[mod] solidtorrents engine: add metadata & torrentfile
BTW: define min_len in eval_xpath_list of 'stats' list Suggested-by: @dalf https://github.com/searxng/searxng/pull/862#pullrequestreview-872910744 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
f9c4868142
commit
d6061b7c8a
|
@ -13,6 +13,7 @@ from searx.utils import (
|
||||||
extract_text,
|
extract_text,
|
||||||
eval_xpath,
|
eval_xpath,
|
||||||
eval_xpath_getindex,
|
eval_xpath_getindex,
|
||||||
|
eval_xpath_list,
|
||||||
get_torrent_size,
|
get_torrent_size,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -55,11 +56,14 @@ def response(resp):
|
||||||
continue
|
continue
|
||||||
title = extract_text(a)
|
title = extract_text(a)
|
||||||
url = eval_xpath_getindex(a, '@href', 0, None)
|
url = eval_xpath_getindex(a, '@href', 0, None)
|
||||||
stats = eval_xpath(result, './div//div[contains(@class, "stats")]/div')
|
categ = eval_xpath(result, './div//a[contains(@class, "category")]')
|
||||||
|
metadata = extract_text(categ)
|
||||||
|
stats = eval_xpath_list(result, './div//div[contains(@class, "stats")]/div', min_len=5)
|
||||||
n, u = extract_text(stats[1]).split()
|
n, u = extract_text(stats[1]).split()
|
||||||
filesize = get_torrent_size(n, u)
|
filesize = get_torrent_size(n, u)
|
||||||
leech = extract_text(stats[2])
|
leech = extract_text(stats[2])
|
||||||
seed = extract_text(stats[3])
|
seed = extract_text(stats[3])
|
||||||
|
torrentfile = eval_xpath_getindex(result, './div//a[contains(@class, "dl-torrent")]/@href', 0, None)
|
||||||
magnet = eval_xpath_getindex(result, './div//a[contains(@class, "dl-magnet")]/@href', 0, None)
|
magnet = eval_xpath_getindex(result, './div//a[contains(@class, "dl-magnet")]/@href', 0, None)
|
||||||
|
|
||||||
params = {
|
params = {
|
||||||
|
@ -69,6 +73,8 @@ def response(resp):
|
||||||
'url': base_url_rand + url,
|
'url': base_url_rand + url,
|
||||||
'filesize': filesize,
|
'filesize': filesize,
|
||||||
'magnetlink': magnet,
|
'magnetlink': magnet,
|
||||||
|
'torrentfile': torrentfile,
|
||||||
|
'metadata': metadata,
|
||||||
'template': "torrent.html",
|
'template': "torrent.html",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue