templates: add a dynamic date format

More reader-friendly (in French at least).
This commit is contained in:
Lephe 2020-08-01 15:44:47 +02:00
parent 8a95d43eb0
commit 79600e8598
Signed by: Lephenixnoir
GPG Key ID: 1BBA026E13FC0495
2 changed files with 18 additions and 1 deletions

View File

@ -26,7 +26,7 @@
<div>{% if c.date_created != c.date_modified %}
Posté le {{ c.date_created|date }} (Modifié le {{ c.date_modified|date }})
{% else %}
Posté le {{ c.date_created|date }}
Posté le {{ c.date_created|dyndate }}
{% endif %}
| <a href="{{ url_for('forum_topic', f=t.forum, page=(t,comments.page), _anchor=c.id) }}">#</a>
| <a href="#">Modifier</a>

View File

@ -1,4 +1,5 @@
from app import app
from datetime import datetime
@app.template_filter('date')
def filter_date(date, format="%Y-%m-%d à %H:%M"):
@ -6,4 +7,20 @@ def filter_date(date, format="%Y-%m-%d à %H:%M"):
Print a date in a human-readable format.
"""
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]
# Omit current year in the dynamic format
if date.year == datetime.now().year:
format = f"{d} {m} à %H:%M"
else:
format = f"{d} {m} %Y à %H:%M"
return date.strftime(format)
@app.template_filter('dyndate')
def filter_dyndate(date):
return filter_date(date, format="dynamic")