logo

searx

My custom branche(s) on searx, a meta-search engine git clone https://hacktivis.me/git/searx.git
commit: 337bd6d907503176eb94290c3f386ce88167dea8
parent fd86bf8189683aee72b934c8dd7544aa362a0728
Author: Thomas Pointhuber <thomas.pointhuber@gmx.at>
Date:   Tue, 18 Mar 2014 13:19:50 +0100

simplify datetime extraction

Diffstat:

Mrequirements.txt1+
Msearx/engines/google_news.py14++++----------
Msearx/engines/yahoo_news.py5++---
Msearx/engines/youtube.py7+++++++
Msetup.py1+
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': [