From e6490e18d18bc350eb2aa5b08639edb988908bd7 Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Thu, 14 Apr 2016 11:37:30 +0100 Subject: [PATCH] Use a different module for doing nice timestamps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There is a bug in Babel[1] which means that it throws an exception if it can’t find the locale it wants to use. This is not a problem when developing locally, because OS X comes with lots of locales. The AWS machines, however, only have one locale, which is not the one that Babel is looking for. Hence the ‘Activity’ page doesn’t work. This commit changes to using Humanize[2] instead, which is much less vast and hopefully less hungry in its requirements. That’s a morning we won’t get back… 1. https://github.com/python-babel/babel/issues/137 2. https://pypi.python.org/pypi/humanize --- app/__init__.py | 10 ++++------ app/templates/views/notifications.html | 4 ++-- requirements.txt | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/app/__init__.py b/app/__init__.py index 9e837c086..09be293f1 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -21,7 +21,7 @@ from pygments import highlight from pygments.lexers import JavascriptLexer from pygments.formatters import HtmlFormatter from werkzeug.exceptions import abort -from babel.dates import format_timedelta +import humanize from app.notify_client.api_client import ServiceAPIClient from app.notify_client.api_key_api_client import ApiKeyApiClient @@ -191,11 +191,9 @@ def format_date(date): def format_delta(date): date = dateutil.parser.parse(date) native = date.replace(tzinfo=None) - difference = native - datetime.datetime.now() - return format_timedelta( - datetime.timedelta(seconds=difference.total_seconds()), - add_direction=True, - format='short' + difference = datetime.datetime.now() - native + return humanize.naturaltime( + datetime.timedelta(seconds=difference.total_seconds()) ) diff --git a/app/templates/views/notifications.html b/app/templates/views/notifications.html index a252d8e5a..ba7abc7ad 100644 --- a/app/templates/views/notifications.html +++ b/app/templates/views/notifications.html @@ -93,10 +93,10 @@

{% endcall %} - {{ text_field(item.status|title) }} + {{ text_field(item.status|capitalize) }} {% call field(align='right') %} - {{ item.created_at|format_delta }} + {{ item.created_at|format_delta|capitalize }} {% endcall %} {% endcall %} diff --git a/requirements.txt b/requirements.txt index 7647b9166..00484939c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ Flask-Bcrypt==0.6.2 credstash==1.8.0 boto3==1.2.3 Pygments==2.0.2 -Babel==2.3.3 +humanize==0.5.1 git+https://github.com/alphagov/notifications-python-client.git@0.3.1#egg=notifications-python-client==0.3.1