diff --git a/searx/engines/piratebay.py b/searx/engines/piratebay.py index fa5c61128..55446b410 100644 --- a/searx/engines/piratebay.py +++ b/searx/engines/piratebay.py @@ -1,4 +1,4 @@ -## Piratebay (Videos, Music, Files) +# Piratebay (Videos, Music, Files) # # @website https://thepiratebay.se # @provide-api no (nothing found) @@ -78,7 +78,11 @@ def response(resp): leech = 0 magnetlink = result.xpath(magnet_xpath)[0] - torrentfile = result.xpath(torrent_xpath)[0] + torrentfile_links = result.xpath(torrent_xpath) + if torrentfile_links: + torrentfile_link = torrentfile_links[0].attrib.get('href') + else: + torrentfile_link = None # append result results.append({'url': href, @@ -87,7 +91,7 @@ def response(resp): 'seed': seed, 'leech': leech, 'magnetlink': magnetlink.attrib.get('href'), - 'torrentfile': torrentfile.attrib.get('href'), + 'torrentfile': torrentfile_link, 'template': 'torrent.html'}) # return results sorted by seeder diff --git a/searx/tests/engines/test_piratebay.py b/searx/tests/engines/test_piratebay.py index 17bc3a526..5699380be 100644 --- a/searx/tests/engines/test_piratebay.py +++ b/searx/tests/engines/test_piratebay.py @@ -65,12 +65,39 @@ class TestPiratebayEngine(SearxTestCase):