
    x7#h4                         d dl mZ d dlmZ d dlmZmZmZmZm	Z	m
Z
mZmZ d dlmZmZ d dlmZmZmZmZmZmZmZ  G d deee      Z G d d	e      Z G d
 de      Z G d d      Zy)    )date)gettext)JANFEBSEPNOVTHUFRISAT
_timedelta)IslamicHolidaysStaticHolidays)ObservedHolidayBaseTHU_TO_PREV_WEDFRI_TO_PREV_THUFRI_TO_NEXT_SATSAT_TO_NEXT_SUNTHU_FRI_TO_NEXT_WORKDAYFRI_SAT_TO_NEXT_WORKDAYc                        e Zd ZdZdZdZ ed      Z ed      Z ed      Z	dZ
ddef fd	Zd
ee   ddfdZd Z xZS )SaudiArabiaa7  Saudi Arabia holidays.

    References:
        * <https://laboreducation.hrsd.gov.sa/en/gallery/274>
        * <https://laboreducation.hrsd.gov.sa/en/labor-education/322>
        * <https://english.alarabiya.net/News/gulf/2022/01/27/Saudi-Arabia-to-commemorate-Founding-Day-on-Feb-22-annually-Royal-order>
    SAaru   (تقدير) %su   (ملاحظة) %su   (تقدير ملاحظة) %s)r   en_USislamic_show_estimatedc                     t        j                  | |       t        j                  | t               |j	                  dt
        t        z          t        |   |i | y)z
        Args:
            islamic_show_estimated:
                Whether to add "estimated" label to Islamic holidays name
                if holiday date is estimated.
        )show_estimatedobserved_ruleN)r   __init__r   SaudiArabiaStaticHolidays
setdefaultr   r   super)selfr   argskwargs	__class__s       _/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/holidays/countries/saudi_arabia.pyr   zSaudiArabia.__init__0   sN     	  6LM&?@/?_+LM$)&)    dtsreturnNc                     | j                   sy | j                  dk  rt        nt        }|D ]4  }t	        d      D ]$  }| j                  t        ||       | |   |       & 6 y )N     )namerule)observed_yearr   r   range_add_observedr   )r#   r)   r   dtis        r'   _add_islamic_observedz!SaudiArabia._add_islamic_observed<   sZ    }}37::3E/KbB1X"":b1"#5DH="Y  r(   c                    | j                   dk  rt        t        z   nt        t        z   | _        | j                   dk  rt        t        hnt        t        h| _	        t        d      }| j                  |       | j                  |       | j                  |       | j                  | j                  |             | j!                  t        d             t        d      }| j#                  |       | j%                  |       | j                  | j'                  |             | j                   dk\  rIt)        | j                   t*        d      }|| vr*| j-                  | j/                  t        d      |             | j                   dk\  rKt)        | j                   t0        d	      }|| vr+| j-                  | j/                  t        d
      |             y y y )Nr,      عطلة عيد الفطرu   يوم عرفةu   عطلة عيد الأضحىi     u   اليوم الوطني     u   يوم التأسيسي)r1   r   r   r   r   _observed_ruler	   r
   r   weekendtr_add_eid_al_fitr_day_add_eid_al_fitr_day_two_add_eid_al_fitr_day_threer6   _add_eid_al_fitr_day_four_add_arafah_day_add_eid_al_adha_day_add_eid_al_adha_day_two_add_eid_al_adha_day_threer   r   r3   _add_holidayr   )r#   eid_al_fitr_namer.   r4   s       r'   _populate_public_holidaysz%SaudiArabia._populate_public_holidaysE   s    zzT! o- ?2 	
 &*ZZ4%7Szc3Z :;!!"23%%&67''(89""4#A#ABR#ST 	R 12301!!$'%%d+""4#B#B4#HI ::djj#r*B~""4#4#4R8Q5RTV#WX ::djj#r*B~""4#4#4R8Q5RTV#WX  r(   )T)__name__
__module____qualname____doc__countrydefault_languager>   estimated_labelobserved_labelobserved_estimated_labelsupported_languagesboolr   setr   r6   rI   __classcell__)r&   s   @r'   r   r      si     G*+O+,N!"@A)
*t 
*ZT Zt Z(Yr(   r   c                       e Zd Zy)r   NrJ   rK   rL    r(   r'   r   r   p       r(   r   c                       e Zd Zy)SAUNrX   rY   r(   r'   r\   r\   t   rZ   r(   r\   c                   @    e Zd Zded ed      fiZded ed      fiZy)r    r:   r9   u   يوم وطنيi     r8   N)rJ   rK   rL   r   r>   special_public_holidaysr    special_public_holidays_observedrY   r(   r'   r    r    x   s:     	sB,-. 	sAr678($r(   r    N)datetimer   r   r>   holidays.calendars.gregorianr   r   r   r   r	   r
   r   r   holidays.groupsr   r   holidays.observed_holiday_baser   r   r   r   r   r   r   r   r   r\   r    rY   r(   r'   <module>re      s`     ! V V V ;  PY% PYf	 		+ 		 	r(   