2019-09-09 08:03:23 +02:00
|
|
|
from app import app
|
2020-08-01 15:44:47 +02:00
|
|
|
from datetime import datetime
|
2019-09-09 08:03:23 +02:00
|
|
|
|
|
|
|
@app.template_filter('date')
|
2020-07-19 21:14:34 +02:00
|
|
|
def filter_date(date, format="%Y-%m-%d à %H:%M"):
|
2019-09-09 08:03:23 +02:00
|
|
|
"""
|
|
|
|
Print a date in a human-readable format.
|
|
|
|
"""
|
|
|
|
|
2022-06-15 12:23:58 +02:00
|
|
|
if date is None:
|
|
|
|
return "None"
|
|
|
|
|
2020-08-01 15:44:47 +02:00
|
|
|
if format == "dynamic":
|
|
|
|
d = "1er" if date.day == 1 else int(date.day)
|
|
|
|
m = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet",
|
|
|
|
"Août", "Septembre", "Octobre", "Novembre","Décembre"] \
|
|
|
|
[date.month - 1]
|
|
|
|
|
2021-07-10 17:54:07 +02:00
|
|
|
# Omit current year in the last 8 months
|
2021-07-14 10:19:02 +02:00
|
|
|
if (datetime.now() - date).days <= 8 * 30:
|
2020-08-01 15:44:47 +02:00
|
|
|
format = f"{d} {m} à %H:%M"
|
|
|
|
else:
|
|
|
|
format = f"{d} {m} %Y à %H:%M"
|
|
|
|
|
2020-07-19 21:14:34 +02:00
|
|
|
return date.strftime(format)
|
2020-08-01 15:44:47 +02:00
|
|
|
|
|
|
|
@app.template_filter('dyndate')
|
|
|
|
def filter_dyndate(date):
|
|
|
|
return filter_date(date, format="dynamic")
|