summaryrefslogtreecommitdiff
path: root/searx/engines
diff options
context:
space:
mode:
authormisnyo <misnyo@misnyo.eu>2017-09-04 20:05:04 +0200
committermisnyo <misnyo@misnyo.eu>2017-09-04 20:05:04 +0200
commit33fd938016def4496876d89d0ccaa53f47705005 (patch)
treebe751691b517a3f43ced554515f9131becfdb187 /searx/engines
parentc3232b0e1a82315e5936fb3c0731548efd66a0b3 (diff)
downloadsearxng-33fd938016def4496876d89d0ccaa53f47705005.tar.gz
searxng-33fd938016def4496876d89d0ccaa53f47705005.zip
[mod] int_or_zero refactored to searx_utils
Diffstat (limited to 'searx/engines')
-rw-r--r--searx/engines/nyaa.py30
-rw-r--r--searx/engines/tokyotoshokan.py13
2 files changed, 14 insertions, 29 deletions
diff --git a/searx/engines/nyaa.py b/searx/engines/nyaa.py
index 0d5bfc917..6a8e598c4 100644
--- a/searx/engines/nyaa.py
+++ b/searx/engines/nyaa.py
@@ -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)
diff --git a/searx/engines/tokyotoshokan.py b/searx/engines/tokyotoshokan.py
index dfd2e7790..773212043 100644
--- a/searx/engines/tokyotoshokan.py
+++ b/searx/engines/tokyotoshokan.py
@@ -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})