euscan-ng/euscanwww/djeuscan/templatetags/timedelta.py

25 lines
625 B
Python
Raw Normal View History

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