from django import template
from datetime import datetime, timedelta
from pytz import timezone
from mamweb.settings import TIME_ZONE
import logging
register = template.Library()

logger = logging.getLogger(__name__)

@register.filter(name='kratke_datum', expects_localtime=True)
def kratke_datum(dt):
	# None dává None, ne-datum dává False, aby se daly použít filtry typu "default".
	if dt is None:
		return None
	if not isinstance(dt, datetime):
		logger.warning(f"Špatné volání filtru {__name__}: {dt}")
		return False
	naive_now = datetime.now()
	tz = timezone(TIME_ZONE)
	now = tz.localize(naive_now)
	delta = now - dt
	if delta <= timedelta(days=1):
		return dt.strftime("%k:%M")
	if delta <= timedelta(days=365):	# Timedelta neumí vyjádřit 1 rok
		return dt.strftime("%d. %m.")
	return dt.strftime("%d. %m. %Y")