Initial commit

This commit is contained in:
2025-11-11 01:48:45 +01:00
commit 06d0e1c426
14 changed files with 568 additions and 0 deletions

26
backend/utils.py Normal file
View File

@@ -0,0 +1,26 @@
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