summaryrefslogtreecommitdiff
path: root/searx/engines/wolframalpha_api.py
diff options
context:
space:
mode:
authormarc <a01200356@itesm.mx>2016-07-06 17:29:40 -0500
committerfirebovine <firebovine@gmail.com>2016-09-10 17:42:04 -0400
commit09ee2aa69dbd4815e0e1e1de53f3571972e04903 (patch)
treefbb9feb888d6b05f2fb10fba058b73e98e0adab9 /searx/engines/wolframalpha_api.py
parent390ad59bfcd256e9145d7ef539acaf3a83a73c8b (diff)
downloadsearxng-09ee2aa69dbd4815e0e1e1de53f3571972e04903.tar.gz
searxng-09ee2aa69dbd4815e0e1e1de53f3571972e04903.zip
[fix] Result text in Wolfram|Alpha (#607)
Diffstat (limited to 'searx/engines/wolframalpha_api.py')
-rw-r--r--searx/engines/wolframalpha_api.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/searx/engines/wolframalpha_api.py b/searx/engines/wolframalpha_api.py
index 4526c825f..0e38051d1 100644
--- a/searx/engines/wolframalpha_api.py
+++ b/searx/engines/wolframalpha_api.py
@@ -22,6 +22,7 @@ answer_xpath = '//pod[attribute::primary="true"]/subpod/plaintext'
input_xpath = '//pod[starts-with(attribute::id, "Input")]/subpod/plaintext'
pods_xpath = '//pod'
subpods_xpath = './subpod'
+pod_primary_xpath = './@primary'
pod_id_xpath = './@id'
pod_title_xpath = './@title'
plaintext_xpath = './plaintext'
@@ -78,10 +79,12 @@ def response(resp):
infobox_title = None
pods = search_results.xpath(pods_xpath)
+ result = ""
result_chunks = []
for pod in pods:
pod_id = pod.xpath(pod_id_xpath)[0]
pod_title = pod.xpath(pod_title_xpath)[0]
+ pod_is_result = pod.xpath(pod_primary_xpath)
subpods = pod.xpath(subpods_xpath)
if not subpods:
@@ -94,6 +97,9 @@ def response(resp):
if content and pod_id not in image_pods:
+ if pod_is_result:
+ result = content
+
# if no input pod was found, title is first plaintext pod
if not infobox_title:
infobox_title = content
@@ -116,7 +122,7 @@ def response(resp):
# append link to site
results.append({'url': resp.request.headers['Referer'].decode('utf8'),
- 'title': 'Wolfram|Alpha',
- 'content': infobox_title})
+ 'title': infobox_title + ' - Wolfram|Alpha',
+ 'content': result})
return results