# apps/estoque/templatetags/estoque_extras.py

from django import template

register = template.Library()

@register.filter
def formatar_quantidade(valor, unidade):
    try:
        valor = float(valor)
        if unidade in ['un']:  # Unidades que são sempre inteiras
            return int(valor)
        elif unidade in ['kg', 'l']:  # Unidades que podem ter decimais
            # Ajuste o número de casas decimais conforme necessário por unidade
            casas_decimais = 3 if unidade == 'kg' else 2
            valor_formatado = ('%.' + str(casas_decimais) + 'f') % valor
            return valor_formatado.rstrip('0').rstrip('.')
        else:
            # Formatação padrão
            if valor.is_integer():
                return int(valor)
            else:
                return ('%.3f' % valor).rstrip('0').rstrip('.')
    except (ValueError, TypeError):
        return valor