from datetime import datetime, timezone def format_size(bytes_size): """Convertit une taille en octets en format lisible (Ko, Mo, Go, ...).""" for unit in ['o', 'Ko', 'Mo', 'Go', 'To']: if bytes_size < 1024: return f"{bytes_size:.2f} {unit}" bytes_size /= 1024 return f"{bytes_size:.2f} Po" def calculate_age(uploaded_at_iso): uploaded_date = datetime.fromisoformat(uploaded_at_iso.rstrip('Z')).replace(tzinfo=timezone.utc) now = datetime.now(timezone.utc) delta_days = (now.date() - uploaded_date.date()).days # human if delta_days < 30: age_human = f"{delta_days} j" elif delta_days < 365: months = delta_days // 30 age_human = f"{months} mois" else: years = delta_days // 365 age_human = f"{years} ans" return delta_days, age_human