Initial commit
This commit is contained in:
26
backend/utils.py
Normal file
26
backend/utils.py
Normal 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
|
||||
Reference in New Issue
Block a user