summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCqoicebordel <Cqoicebordel@users.noreply.github.com>2014-12-09 02:36:53 +0100
committerCqoicebordel <Cqoicebordel@users.noreply.github.com>2014-12-09 02:36:53 +0100
commit7937218be66f1fb3eff02bce308a4e5c78ba6672 (patch)
tree9e2db53f7548d8f27837c7254defbb8755c36f68
parent41aca9a068cbaf4e630461b844a152e7f2444548 (diff)
Use human readable date
For DoB and DoD, wikipedia use a non standard ISO format, not easily readable. Now the date is displayed in an human readable form, using the language setting as locale if available. If not, it uses the default locale.
-rw-r--r--searx/engines/wikidata.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/searx/engines/wikidata.py b/searx/engines/wikidata.py
index ab799e6ce..bda80cdca 100644
--- a/searx/engines/wikidata.py
+++ b/searx/engines/wikidata.py
@@ -1,6 +1,9 @@
import json
from requests import get
from urllib import urlencode
+import locale
+import time
+import dateutil.parser
result_count = 1
wikidata_host = 'https://www.wikidata.org'
@@ -35,6 +38,16 @@ def response(resp):
language = resp.search_params['language'].split('_')[0]
if language == 'all':
language = 'en'
+
+ try:
+ locale.setlocale(locale.LC_ALL, str(resp.search_params['language']))
+ except:
+ try:
+ locale.setlocale(locale.LC_ALL, 'en_US')
+ except:
+ pass
+ pass
+
url = url_detail.format(query=urlencode({'ids': '|'.join(wikidata_ids),
'languages': language + '|en'}))
@@ -164,10 +177,12 @@ def getDetail(jsonresponse, wikidata_id, language):
date_of_birth = get_time(claims, 'P569', None)
if date_of_birth is not None:
+ date_of_birth = dateutil.parser.parse(date_of_birth[8:]).strftime(locale.nl_langinfo(locale.D_FMT))
attributes.append({'label': 'Date of birth', 'value': date_of_birth})
date_of_death = get_time(claims, 'P570', None)
if date_of_death is not None:
+ date_of_death = dateutil.parser.parse(date_of_death[8:]).strftime(locale.nl_langinfo(locale.D_FMT))
attributes.append({'label': 'Date of death', 'value': date_of_death})
if len(attributes) == 0 and len(urls) == 2 and len(description) == 0: