@@ -26,12 +26,13 @@ import json
26import cStringIO
26import cStringIO
29+from datetime import datetime, timedelta
29from itertools import chain
30from itertools import chain
30from flask import (
31from flask import (
31 Flask, request, render_template, url_for, Response, make_response,
32 Flask, request, render_template, url_for, Response, make_response,
32 redirect, send_from_directory
33 redirect, send_from_directory
34−from flask.ext.babel import Babel
35+from flask.ext.babel import Babel, gettext, ngettext, format_date
35from searx import settings, searx_dir
36from searx import settings, searx_dir
36from searx.engines import (
37from searx.engines import (
37 search as do_search, categories, engines, get_engines_stats,
38 search as do_search, categories, engines, get_engines_stats,
@@ -156,6 +157,19 @@ def index():
156 if engine in favicons:
157 if engine in favicons:
157 result['favicon'] = engine
158 result['favicon'] = engine
160+ # TODO, check if timezone is calculated right
161+ if 'publishedDate' in result:
162+ if result['publishedDate'] >= datetime.now() - timedelta(days=1):
163+ timedifference = datetime.now() - result['publishedDate']
164+ minutes = int((timedifference.seconds/60)%60)
165+ hours = int(timedifference.seconds/60/60)
167+ result['publishedDate'] = gettext(u'{minutes} minute(s) ago').format(minutes=minutes)
169+ result['publishedDate'] = gettext(u'{hours} hour(s), {minutes} minute(s) ago').format(hours=hours, minutes=minutes)
171+ result['publishedDate'] = format_date(result['publishedDate'])
159 if search.request_data.get('format') == 'json':
173 if search.request_data.get('format') == 'json':
160 return Response(json.dumps({'query': search.query,
174 return Response(json.dumps({'query': search.query,
161 'results': search.results}),
175 'results': search.results}),