
    ih7                     r    d dl m Z d dlmZmZ d dlmZ  G d deee      Z G d de      Z G d d	e      Z	y
)    )gettext)ChristianHolidaysInternationalHolidays)HolidayBasec                       e Zd ZU dZdZdZdZdZee	df   e
d<   i dd	d
dddddddddddddddddddddddddddddd d!d"d#d$d%d&d'Zd(Zd)Z fd*Zd+ Zd, Zd- Zd. Zd/ Zd0 Zd1 Zd2 Zd3 Zd4 Zd5 Zd6 Zd7 Z xZS )8FranceuC  France holidays.

    References:
        * <https://fr.wikipedia.org/wiki/Fêtes_et_jours_fériés_en_France>
        * <https://web.archive.org/web/20250424031328/https://www.service-public.fr/particuliers/vosdroits/F2405>
        * [Arrêté du 29 germinal an X](https://web.archive.org/web/20250327095254/https://journals.openedition.org/rdr/439)
        * [Loi du 6 juillet 1880](https://archive.org/details/jorf-18800707-185)
        * [Loi du 8 mars 1886](https://archive.org/details/jorf-18860309-67)
        * [Loi du 9 décembre 1905](https://web.archive.org/web/20250617084843/https://mjp.univ-perp.fr/france/1905laicite.htm)
        * [Loi du 24 octobre 1922](https://web.archive.org/web/20250618030815/https://archives.defense.gouv.fr/content/download/102094/992430/Loi%20du%2024%20octobre%201922%20fixant%20la%20journée%20commémorative%20du%2011%20novembre.pdf)
        * [Loi n°46-828 du 26 avril 1946](https://archive.org/details/jorf-19460428-100)
        * [Loi n°46-934 du 7 mai 1946](https://archive.org/details/jorf-19460508-107)
        * [Loi n°47-778 du 30 avril 1947 ](https://archive.org/details/jorf-19470501-104)
        * [Loi n°48-746 du 29 avril 1948](https://archive.org/details/jorf-19480430-104)
        * [Loi n°53-225 du 20 mars 1953](https://archive.org/details/jorf-19530321-69)
        * [Décret n°59-533 du 11 avril 1959](https://archive.org/details/jorf-19590415-88)
        * [Loi n° 61-814 du 29 juillet 1961](https://web.archive.org/web/20240715174837/https://www.legifrance.gouv.fr/loda/id/JORFTEXT000000684031)
        * [Loi n°81-893 du 2 octobre 1981](https://archive.org/details/jorf-19811003-232)
        * [Loi n° 83-550 du 30 juin 1983](https://archive.org/details/jorf-19830701-151)
        * [Décret n°83-1003 du 23 novembre 1983](https://archive.org/details/jorf-19831124-272_202506)
        * [Loi n° 2004-626 du 30 juin 2004](https://web.archive.org/web/20220830045136/https://www.legifrance.gouv.fr/loda/id/JORFTEXT000000622485/)
        * [Loi n° 2008-351 du 16 avril 2008](https://web.archive.org/web/20220602124233/https://www.legifrance.gouv.fr/loda/id/JORFTEXT000018656009/)
        * [Décret n° 2012-553 du 23 avril 2012](https://web.archive.org/web/20231104120733/https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000025743756)
        * <https://web.archive.org/web/20240719134144/https://www.moselle.gouv.fr/contenu/telechargement/5830/42693/file/fiche+commerce+MAJ.pdf>
        * <https://web.archive.org/web/20190812110746/http://histoire.assemblee.pf/articles.php?id=567>
        * <https://web.archive.org/web/20190812043635/http://histoire.assemblee.pf/articles.php?id=568>
        * <https://web.archive.org/web/20250618073111/https://www.tahitipresse.pf/2025/05/polynesie-29-juin-ou-20-novembre/>
        * <https://web.archive.org/web/20250618061809/https://la1ere.franceinfo.fr/nouvellecaledonie/commemorations-differentes-24-septembre-752087.html>

    Some provinces have specific holidays, only those are included in the
    PROVINCES, because these provinces have different administrative status,
    which makes it difficult to enumerate.
    FRfri  )576AE971972973974976BLMFNCPFPMTFWF.subdivisionsMoseller   Alsacer   GPr   GUA
GuadeloupeMQr   
MartiniqueGYr   GuyaneREr   LREu   La RéunionYTr   MAYMayotteu   Saint-Barthélemyr   zSaint-Martinr   r   r   r   r   r   )u   Nouvelle-Calédonieu   Polynésie FrançaisezSaint-Pierre-et-Miquelonu   Terres australes françaiseszWallis-et-Futuna)en_USr
   thuk)Alsace-MoselleGESu
   Métropole   Saint-Barthélémyc                 x    t        j                  |        t        j                  |        t        |   |i | y )N)r   __init__r   super)selfargskwargs	__class__s      Y/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/france.pyr/   zFrance.__init__m   s1    ""4(&&t,$)&)    c                 @   | j                   dk\  r| j                  t        d             | j                   dk\  rB| j                  t        d             | j                   dvr| j	                  t        d             | j                   dk\  r[| j                   dk\  rt        d	      }n/d
| j                   cxk  rdk  rn nt        d      }nt        d      }| j                  |       d| j                   cxk  rdk  sn | j                   dk\  r| j                  t        d             | j                  t        d             | j                   dk\  r| j                  t        d             | j                  t        d             | j                  t        d             | j                   dk\  r| j                  t        d             | j                  t        d             | j                  dk(  r| j                          y | j                  dk(  r| j                          y y )Ni  zJour de l'ani^  u   Lundi de Pâques>         u   Lundi de Pentecôtei  i  u   Fête du Travaili  i  u*   Fête du Travail et de la Concorde socialez1er mai  i  i  u   Fête de la Victoire	AscensioniX  u   Fête nationale
Assomption	Toussainti  	Armisticeu   Noëlr+   r-   )_year_add_new_years_daytr_add_easter_monday_add_whit_monday_add_labor_day_add_world_war_two_victory_day_add_ascension_thursday_add_holiday_jul_14_add_assumption_of_mary_day_add_all_saints_day_add_remembrance_day_add_christmas_daysubdiv$_populate_subdiv_6ae_public_holidays#_populate_subdiv_bl_public_holidays)r1   names     r5   _populate_public_holidaysz France._populate_public_holidaysr   s   ::##B~$67 ::##B'9$:; zz!33%%b)>&?@ ::zzT!,-+t+FG )}% 4::%%t);//3I0JK 	$$R_5 ::$$R(9%:; 	((L)9: 	  K1 ::%%bo6 	7,;;**557[[00446 1r6   c                     | j                   dk\  r| j                  t        d             | j                   dk\  r| j                  t        d             y y Nie  Vendredi saintid  u   Saint Étienner@   _add_good_fridayrB   _add_christmas_day_twor1   s    r5   #_populate_subdiv_57_public_holidaysz*France._populate_subdiv_57_public_holidays   I    ::!!"%5"67 ::''+;(<= r6   c                     | j                   dk\  r| j                  t        d             | j                   dk\  r| j                  t        d             y y rS   rU   rX   s    r5   rN   z+France._populate_subdiv_6ae_public_holidays   rZ   r6   c                     | j                  t        d             | j                  t        d             | j                  dk\  r5| j	                  t        d             | j                  t        d             y y )NrT   u
   Mi-Carême  Abolition de l'esclavage   Fête de Victor Schoelcher)rV   rB   !_add_holiday_24_days_prior_easterr@   _add_holiday_may_27_add_holiday_jul_21rX   s    r5   $_populate_subdiv_971_public_holidaysz+France._populate_subdiv_971_public_holidays   sh    b!123 	..r,/?@
 ::$$R(B%CD $$R(D%EF r6   c                     | j                  t        d             | j                  dk\  r5| j                  t        d             | j	                  t        d             y y )NrT   r]   r^   r_   )rV   rB   r@   _add_holiday_may_22rb   rX   s    r5   $_populate_subdiv_972_public_holidaysz+France._populate_subdiv_972_public_holidays   sS    b!123
 ::$$R(B%CD $$R(D%EF r6   c                 X    | j                   dk\  r| j                  t        d             y y Nr]   r^   )r@   _add_holiday_jun_10rB   rX   s    r5   $_populate_subdiv_973_public_holidaysz+France._populate_subdiv_973_public_holidays   )     ::$$R(B%CD r6   c                 X    | j                   dk\  r| j                  t        d             y y )Ni  r^   )r@   _add_holiday_dec_20rB   rX   s    r5   $_populate_subdiv_974_public_holidaysz+France._populate_subdiv_974_public_holidays   rk   r6   c                 X    | j                   dk\  r| j                  t        d             y y rh   )r@   _add_holiday_apr_27rB   rX   s    r5   $_populate_subdiv_976_public_holidaysz+France._populate_subdiv_976_public_holidays  rk   r6   c                 X    | j                   dk\  r| j                  t        d             y y )N  r^   )r@   _add_holiday_oct_9rB   rX   s    r5   rO   z*France._populate_subdiv_bl_public_holidays	  s)     ::##B'A$BC r6   c                     | j                   dk\  r5| j                  t        d             | j                  t        d             y y )Nrs   r^   r_   )r@   _add_holiday_may_28rB   rb   rX   s    r5   #_populate_subdiv_mf_public_holidaysz*France._populate_subdiv_mf_public_holidays  s?    
 ::$$R(B%CD $$R(D%EF r6   c                     | j                   dk\  r5| j                  | j                   dk\  rt        d      n
t        d             y y )Nr;   i  u   Fête de la Citoyennetéu   Fête de la prise de possession)r@   _add_holiday_sep_24rB   rX   s    r5   #_populate_subdiv_nc_public_holidaysz*France._populate_subdiv_nc_public_holidays  sG     ::$$ ::% -. 9: r6   c                 B   | j                  t        d             | j                  dk\  r| j                  t        d             d| j                  cxk  rdk  rn n| j	                  t        d             | j                  dk\  r| j                  t        d             y y )	NrT   i  u   Arrivée de l'Évangilei  i  u   Fête de l'autonomiei  u	   Matāri'i)rV   rB   r@   _add_holiday_mar_5_add_holiday_jun_29_add_holiday_nov_20rX   s    r5   #_populate_subdiv_pf_public_holidaysz*France._populate_subdiv_pf_public_holidays,  s    b!123 ::##B'@$AB 4::%%$$R(>%?@ ::$$R_5 r6   c                     | j                   dk\  rO| j                  t        d             | j                  t        d             | j	                  t        d             y y )Ni  zSaint Pierre ChanelzSaints Pierre et Paulu   Fête du Territoire)r@   _add_holiday_apr_28rB   _add_saints_peter_and_paul_day_add_holiday_jul_29rX   s    r5   #_populate_subdiv_wf_public_holidaysz*France._populate_subdiv_wf_public_holidaysA  sU     ::$$R(=%>? //3J0KL $$R(=%>? r6   )__name__
__module____qualname____doc__countrydefault_language
start_yearr   tuplestr__annotations__subdivisions_aliasessupported_languages_deprecated_subdivisionsr/   rQ   rY   rN   rc   rf   rj   rn   rq   rO   rw   rz   r   r   __classcell__)r4   s   @r5   r   r      sy    D G J%L%S/ "4% 	e 	u	
 	e 	e 	e 	e 	% 	e 	u 	u 	e 	u 	5  	T!" 	#$  $!%$((, -0 6 *
C7L	>	>G$GEEED
G
6*@r6   r   c                       e Zd ZdZy)r	   zBFR is also used by dateutil (Friday), so be careful with this one.N)r   r   r   r    r6   r5   r	   r	   O  s    Lr6   r	   c                       e Zd Zy)FRAN)r   r   r   r   r6   r5   r   r   U  s    r6   r   N)
r   rB   holidays.groupsr   r   holidays.holiday_baser   r   r	   r   r   r6   r5   <module>r      s?    " D -y@[+-B y@x		 		& 	r6   