fix datetime filter with unicode inputs (bug 561174)

This commit is contained in:
Jeff Balogh
2010-04-22 20:02:52 -07:00
parent 56d3f64c6e
commit 32cd1a1b93
2 changed files with 11 additions and 2 deletions

View File

@@ -33,9 +33,11 @@ def nl2br(string):
@register.filter
def datetime(t, format=_('%B %e, %Y')):
def datetime(t, fmt=None):
"""Call ``datetime.strftime`` with the given format string."""
return t.strftime(format) if t else ''
if fmt is None:
fmt = _('%B %e, %Y')
return t.strftime(fmt.encode('utf-8')) if t else ''
@register.filter

View File

@@ -1,9 +1,11 @@
# -*- coding: utf-8 -*-
"""Tests for the jingo's builtin helpers."""
from datetime import datetime
from nose.tools import eq_
import jingo
from jingo import helpers
def render(s, context={}):
@@ -38,6 +40,11 @@ def test_datetime():
eq_(s, '')
def test_datetime_unicode():
fmt = u"%Y 年 %m 月 %e"
helpers.datetime(datetime.now(), fmt)
def test_ifeq():
eq_context = {'a': 1, 'b': 1}
neq_context = {'a': 1, 'b': 2}