From ae04afec529144868b7574becc9664dc3d115e51 Mon Sep 17 00:00:00 2001 From: frol Date: Thu, 21 Feb 2013 21:52:05 +0200 Subject: [PATCH 1/2] fix date and time filters to origin django's, i.e. |date('DATETIME_FORMAT') works now --- coffin/template/defaultfilters.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/coffin/template/defaultfilters.py b/coffin/template/defaultfilters.py index 5376243..cce6dab 100644 --- a/coffin/template/defaultfilters.py +++ b/coffin/template/defaultfilters.py @@ -39,23 +39,37 @@ def timeuntil(value, *args): @register.jinja2_filter(jinja2_only=True) def date(value, arg=None): + """Formats a date according to the given format.""" if value is None or isinstance(value, Undefined): return u'' - from django.conf import settings + from django.utils import formats from django.utils.dateformat import format if arg is None: arg = settings.DATE_FORMAT - return format(value, arg) + try: + return formats.date_format(value, arg) + except AttributeError: + try: + return format(value, arg) + except AttributeError: + return '' @register.jinja2_filter(jinja2_only=True) def time(value, arg=None): + """Formats a time according to the given format.""" if value is None or isinstance(value, Undefined): return u'' - from django.conf import settings - from django.utils.dateformat import time_format if arg is None: arg = settings.TIME_FORMAT - return time_format(value, arg) + from django.utils import formats + from django.utils.dateformat import time_format + try: + return formats.time_format(value, arg) + except AttributeError: + try: + return time_format(value, arg) + except AttributeError: + return '' @register.jinja2_filter(jinja2_only=True) def truncatewords(value, length): From d9a8906de7060086ad16bbb0b874e37aadf6dfa2 Mon Sep 17 00:00:00 2001 From: frol Date: Thu, 21 Feb 2013 22:45:05 +0200 Subject: [PATCH 2/2] settings import missed --- coffin/template/defaultfilters.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/coffin/template/defaultfilters.py b/coffin/template/defaultfilters.py index cce6dab..ec7f80b 100644 --- a/coffin/template/defaultfilters.py +++ b/coffin/template/defaultfilters.py @@ -42,6 +42,7 @@ def date(value, arg=None): """Formats a date according to the given format.""" if value is None or isinstance(value, Undefined): return u'' + from django.conf import settings from django.utils import formats from django.utils.dateformat import format if arg is None: @@ -59,10 +60,11 @@ def time(value, arg=None): """Formats a time according to the given format.""" if value is None or isinstance(value, Undefined): return u'' - if arg is None: - arg = settings.TIME_FORMAT + from django.conf import settings from django.utils import formats from django.utils.dateformat import time_format + if arg is None: + arg = settings.TIME_FORMAT try: return formats.time_format(value, arg) except AttributeError: