commit: 337bd6d907503176eb94290c3f386ce88167dea8
parent fd86bf8189683aee72b934c8dd7544aa362a0728
Author: Thomas Pointhuber <thomas.pointhuber@gmx.at>
Date: Tue, 18 Mar 2014 13:19:50 +0100
simplify datetime extraction
Diffstat:
5 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/requirements.txt b/requirements.txt
@@ -3,3 +3,4 @@ flask-babel
grequests
lxml
pyyaml
+python-dateutil
diff --git a/searx/engines/google_news.py b/searx/engines/google_news.py
@@ -2,6 +2,7 @@
from urllib import urlencode
from json import loads
+from dateutil import parser
from datetime import datetime
categories = ['news']
@@ -32,16 +33,9 @@ def response(resp):
return []
for result in search_res['responseData']['results']:
-# S.149 (159), library.pdf
-# datetime.strptime("Mon, 10 Mar 2014 16:26:15 -0700",
-# "%a, %d %b %Y %H:%M:%S %z")
-# publishedDate = parse(result['publishedDate'])
- publishedDate = datetime.strptime(
- str.join(' ', result['publishedDate'].split(None)[0:5]),
- "%a, %d %b %Y %H:%M:%S")
- #utc_offset = timedelta(result['publishedDate'].split(None)[5])
- # local = utc + offset
- #publishedDate = publishedDate + utc_offset
+
+# Mon, 10 Mar 2014 16:26:15 -0700
+ publishedDate = parser.parse(result['publishedDate'])
results.append({'url': result['unescapedUrl'],
'title': result['titleNoFormatting'],
diff --git a/searx/engines/yahoo_news.py b/searx/engines/yahoo_news.py
@@ -6,6 +6,7 @@ from searx.engines.xpath import extract_text, extract_url
from searx.engines.yahoo import parse_url
from datetime import datetime, timedelta
import re
+from dateutil import parser
categories = ['news']
search_url = 'http://news.search.yahoo.com/search?{query}&b={offset}'
@@ -52,9 +53,7 @@ def response(resp):
- timedelta(hours=int(timeNumbers[0]))\
- timedelta(minutes=int(timeNumbers[1]))
else:
- # TODO year in string possible?
- publishedDate = datetime.strptime(publishedDate,
- "%b %d %H:%M%p")
+ publishedDate =parser.parse(publishedDate)
if publishedDate.year == 1900:
publishedDate = publishedDate.replace(year=datetime.now().year)
diff --git a/searx/engines/youtube.py b/searx/engines/youtube.py
@@ -1,5 +1,7 @@
from json import loads
from urllib import urlencode
+from dateutil import parser
+from datetime import datetime
categories = ['videos']
@@ -35,6 +37,10 @@ def response(resp):
content = ''
thumbnail = ''
+#"2013-12-31T15:22:51.000Z"
+ pubdate = result['published']['$t']
+ publishedDate = parser.parse(pubdate)
+
if result['media$group']['media$thumbnail']:
thumbnail = result['media$group']['media$thumbnail'][0]['url']
content += '<a href="{0}" title="{0}" ><img src="{1}" /></a>'.format(url, thumbnail) # noqa
@@ -48,6 +54,7 @@ def response(resp):
'title': title,
'content': content,
'template': 'videos.html',
+ 'publishedDate': publishedDate,
'thumbnail': thumbnail})
return results
diff --git a/setup.py b/setup.py
@@ -35,6 +35,7 @@ setup(
'lxml',
'pyyaml',
'setuptools',
+ 'python-dateutil',
],
extras_require={
'test': [