summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--searx/engines/reddit.py8
-rw-r--r--tests/unit/engines/test_reddit.py8
2 files changed, 11 insertions, 5 deletions
diff --git a/searx/engines/reddit.py b/searx/engines/reddit.py
index 9729898e5..3ca7e44f6 100644
--- a/searx/engines/reddit.py
+++ b/searx/engines/reddit.py
@@ -13,7 +13,7 @@
import json
from cgi import escape
from urllib import urlencode
-from urlparse import urlparse
+from urlparse import urlparse, urljoin
from datetime import datetime
# engine dependent config
@@ -21,7 +21,8 @@ categories = ['general', 'images', 'news', 'social media']
page_size = 25
# search-url
-search_url = 'https://www.reddit.com/search.json?{query}'
+base_url = 'https://www.reddit.com/'
+search_url = base_url + 'search.json?{query}'
# do search-request
@@ -52,7 +53,7 @@ def response(resp):
# extract post information
params = {
- 'url': data['url'],
+ 'url': urljoin(base_url, data['permalink']),
'title': data['title']
}
@@ -61,6 +62,7 @@ def response(resp):
url_info = urlparse(thumbnail)
# netloc & path
if url_info[1] != '' and url_info[2] != '':
+ params['img_src'] = data['url']
params['thumbnail_src'] = thumbnail
params['template'] = 'images.html'
img_results.append(params)
diff --git a/tests/unit/engines/test_reddit.py b/tests/unit/engines/test_reddit.py
index 51589e300..9c94f4e2b 100644
--- a/tests/unit/engines/test_reddit.py
+++ b/tests/unit/engines/test_reddit.py
@@ -25,7 +25,8 @@ class TestRedditEngine(SearxTestCase):
"data": {
"children": [{
"data": {
- "url": "http://google.com/",
+ "url": "http://google2.com/",
+ "permalink": "http://google.com/",
"title": "Title number one",
"selftext": "Sample",
"created_utc": 1401219957.0,
@@ -33,7 +34,8 @@ class TestRedditEngine(SearxTestCase):
}
}, {
"data": {
- "url": "https://reddit.com/",
+ "url": "https://reddit2.com/",
+ "permalink": "https://reddit.com/",
"title": "Title number two",
"selftext": "Dominus vobiscum",
"created_utc": 1438792533.0,
@@ -55,6 +57,7 @@ class TestRedditEngine(SearxTestCase):
self.assertEqual(r['url'], 'http://google.com/')
self.assertEqual(r['title'], 'Title number one')
self.assertEqual(r['template'], 'images.html')
+ self.assertEqual(r['img_src'], 'http://google2.com/')
self.assertEqual(r['thumbnail_src'], 'http://image.com/picture.jpg')
# testing second result (self-post)
@@ -65,3 +68,4 @@ class TestRedditEngine(SearxTestCase):
created = datetime.fromtimestamp(1438792533.0)
self.assertEqual(r['publishedDate'], created)
self.assertTrue('thumbnail_src' not in r)
+ self.assertTrue('img_src' not in r)