from django import template

register = template.Library()

@register.filter
def currency(value):
    """Format value as currency"""
    try:
        return f"KES {float(value):,.2f}"
    except (ValueError, TypeError):
        return "KES 0.00"

@register.filter
def percentage(value, total):
    """Calculate percentage"""
    try:
        if total == 0:
            return "0%"
        return f"{(float(value) / float(total) * 100):.1f}%"
    except (ValueError, TypeError, ZeroDivisionError):
        return "0%"

@register.filter
def split(value, delimiter=','):
    """Split a string by delimiter and return a list"""
    if not value:
        return []
    return str(value).split(delimiter)