Liste des jours fériés pour une année liturgique standard.
This commit is contained in:
parent
df94a8c94c
commit
0037927f8c
1 changed files with 40 additions and 0 deletions
40
gestion/config/feries.py
Executable file
40
gestion/config/feries.py
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
""" Pour déclarer les jours fériés.
|
||||||
|
Ça pourra servir à débrider ces jours-là. """
|
||||||
|
|
||||||
|
import dateutil.easter
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
def holidays(year):
|
||||||
|
"""Génère la liste des jours fériés pour l'année ``year``.
|
||||||
|
Au format :py:module:`datetime.date`."""
|
||||||
|
l = []
|
||||||
|
l.append(datetime.date(year=year, month=1, day=1)) # 1er janvier : Jour de l'an
|
||||||
|
l.append(datetime.date(year=year, month=5, day=1)) # 1er mai : Fête du travail
|
||||||
|
l.append(datetime.date(year=year, month=5, day=8)) # 8 mai : Fête de la victoire
|
||||||
|
l.append(datetime.date(year=year, month=7, day=14)) # 14 juillet : Fête Nationale
|
||||||
|
l.append(datetime.date(year=year, month=8, day=15)) # 15 août : Assomption
|
||||||
|
l.append(datetime.date(year=year, month=11, day=1)) # 1er novembre : Toussaint
|
||||||
|
l.append(datetime.date(year=year, month=11, day=11)) # 11 novembre : Armistice
|
||||||
|
l.append(datetime.date(year=year, month=12, day=25)) # 25 décembre : Noël
|
||||||
|
# Pâques et conséquences
|
||||||
|
easter = dateutil.easter.easter(year)
|
||||||
|
day = datetime.timedelta(days=1)
|
||||||
|
l.append(easter + day) # Lundi de Pâques
|
||||||
|
l.append(easter + 39 * day) # Jeudi de l'Ascension
|
||||||
|
l.append(easter + 50 * day) # Lundi de Pentecôte
|
||||||
|
l.sort()
|
||||||
|
return l
|
||||||
|
|
||||||
|
def is_ferie(day=None):
|
||||||
|
"""Dit si ``day`` (au format :py:module:`datetime.date` est férié. (Par défaut aujourd'hui)."""
|
||||||
|
if day is None:
|
||||||
|
day = datetime.date.today()
|
||||||
|
return day in holidays(day.year)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
thisyear = datetime.date.today().year
|
||||||
|
for date in holidays(thisyear):
|
||||||
|
print date.isoformat()
|
Loading…
Add table
Add a link
Reference in a new issue