2011-04-19 11:32:48 +02:00
|
|
|
from django import template
|
|
|
|
from django.utils.timesince import timesince
|
2012-04-04 14:33:40 +02:00
|
|
|
from django.conf import settings
|
|
|
|
from django.utils.timezone import make_aware, get_default_timezone
|
2011-04-19 11:32:48 +02:00
|
|
|
from datetime import datetime
|
|
|
|
|
|
|
|
register = template.Library()
|
|
|
|
|
2012-04-28 18:16:05 +02:00
|
|
|
|
2011-04-19 11:32:48 +02:00
|
|
|
def timedelta(value, arg=None):
|
|
|
|
if not value:
|
|
|
|
return ''
|
|
|
|
if arg:
|
|
|
|
cmp = arg
|
|
|
|
else:
|
|
|
|
cmp = datetime.now()
|
2012-04-04 14:33:40 +02:00
|
|
|
if settings.USE_TZ:
|
|
|
|
cmp = make_aware(cmp, get_default_timezone())
|
2011-04-19 11:32:48 +02:00
|
|
|
if value > cmp:
|
2012-04-28 18:16:05 +02:00
|
|
|
return "in %s" % timesince(cmp, value)
|
2011-04-19 11:32:48 +02:00
|
|
|
else:
|
2012-04-28 18:16:05 +02:00
|
|
|
return "%s ago" % timesince(value, cmp)
|
2011-04-19 11:32:48 +02:00
|
|
|
|
2012-04-28 18:16:05 +02:00
|
|
|
register.filter('timedelta', timedelta)
|