
    x7#h                     v    d dl m Z d dlmZmZ d dlmZmZ  G d deee      Z G d de      Z	 G d d	e      Z
y
)    )gettext)ChristianHolidaysInternationalHolidays)ObservedHolidayBaseSUN_TO_NEXT_MONc                   H     e Zd ZdZdZdZ ed      ZdZdZ	 fdZ
d Z xZS )	Cubaa   Cuba holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_Cuba>
        * [1984 (DEC 28)](https://files.sld.cu/prevemi/files/2013/03/ley_49_codigo_trabajo_1984.pdf)
        * [2007 (NOV 19)](https://www.gacetaoficial.gob.cu/sites/default/files/go_x_053_2007.pdf)
        * [2013 (DEC 20)](https://www.gacetaoficial.gob.cu/es/ley-no-116-codigo-de-trabajo)

    Certain holidays details:
        * Good Friday:
            Granted temporarily in 2012 and 2013, permanently granted in 2013 decree for 2014
            and onwards:
                * <https://www.cnn.com/2012/03/31/world/americas/cuba-good-friday/index.html>
                * <https://www.catholicnewsagency.com/news/29455/cuban-government-makes-good-friday-official-holiday>

        * Christmas Day:
            In 1969, Christmas was cancelled for the sugar harvest but then was cancelled for good:
                * <https://time.com/vault/issue/1969-11-07/page/44/>
            In 1997, Christmas was temporarily back for the Pope's visit:
                * <http://www.cnn.com/WORLD/9712/15/castro.christmas/>
            In 1998, Christmas returns for good:
                * <https://www.independent.co.uk/news/cuba-ends-its-30year-ban-on-christmas-1193525.html>
                * <https://www.ilo.org/dyn/travail/docs/1320/DECRETO-LEY%20No.%20189-1998.pdf>

    For holidays that can be moved to a Monday if they fall on a Sunday, between 1984
    and 2013, the State Committee of Work and Social Security would determine if they
    would be moved to the Monday, or if they would stay on the Sunday, presumably
    depending on quotas. After 2013, they always move to Monday. I could not find any
    records of this, so I implemented this making it always go to the next Monday.
    CUesz%s (observado))en_USr   uki  c                     t        j                  |        t        j                  |        |j                  dt               t        |   |i | y )Nobserved_rule)r   __init__r   
setdefaultr   super)selfargskwargs	__class__s      W/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/holidays/countries/cuba.pyr   zCuba.__init__;   sA    ""4(&&t,/?;$)&)    c                     | j                  t        d            }| j                  dk  r| j                  |       | j                  dk\  r| j	                  t        d             | j                  dk\  r| j                  t        d             | j                  | j                  t        d                   | j                  t        d             | j                  t        d	             | j                  t        d             | j                  | j                  t        d
                   | j                  dk  s| j                  dk\  r| j                  t        d             | j                  dk\  r| j                  t        d             y y )Nu   Triunfo de la Revolucióni  i  u   Día de la Victoriai  zViernes Santou&   Día Internacional de los Trabajadoresu#   Conmemoración del asalto a Moncadau   Día de la Rebeldía Nacionalz&Inicio de las Guerras de Independenciai  i  u   Día de Navidadi  u   Fiesta de Fin de Año)_add_holiday_jan_1tr_year_add_observed_add_holiday_jan_2_add_good_friday_add_labor_day_add_holiday_jul_25_add_holiday_jul_26_add_holiday_jul_27_add_holiday_oct_10_add_christmas_day_add_new_years_eve)r   jan_1s     r   _populate_public_holidayszCuba._populate_public_holidaysA   sE   ''+F(GH::u%::##B'<$=>::!!"_"56 	4..r2Z/[\] 	  $I!JK 	  $C!DE 	  $I!JK 	433B7_4`ab::t!3##B'8$9:::##B'>$?@ r   )__name__
__module____qualname____doc__countrydefault_languager   observed_labelsupported_languages
start_yearr   r(   __classcell__)r   s   @r   r	   r	      s6    > G()N/J*#Ar   r	   c                       e Zd Zy)r
   Nr)   r*   r+    r   r   r
   r
   g       r   r
   c                       e Zd Zy)CUBNr4   r5   r   r   r8   r8   k   r6   r   r8   N)r   r   holidays.groupsr   r   holidays.observed_holiday_baser   r   r	   r
   r8   r5   r   r   <module>r;      s@    " D OQA 13H QAh	 		$ 	r   