
    ih                         d dl mZ 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mZmZmZmZmZ d dlmZ d dlmZ  G d dee      Z G d	 d
e      Z G d de      Z G d de      Zy)    )date)gettext)_CustomIslamicHolidays)FEBMARAPRMAYJUNJULAUGSEPOCTTHUFRISAT
_timedelta)IslamicHolidays)HolidayBasec                   r     e Zd ZdZdZdZ ed      ZdZdZ	e
ehZddd	ef fd
Zdedee   fdZd Z xZS )Omana  Oman holidays.

    References:
        * <https://en.wikipedia.org/wiki/Public_holidays_in_Oman>
        * [Independence](https://web.archive.org/web/20250211055127/https://omaninfo.om/pages/175/show/572)
        * [Weekend](https://web.archive.org/web/20250213121638/https://abnnews.com/the-sultanate-of-oman-changes-weekend-days-from-01-may-2013/)
        * [Decree 56/2020](https://web.archive.org/web/20240522150742/https://decree.om/2020/rd20200056/)
        * [Decree 88/2022](https://web.archive.org/web/20221207194900/https://decree.om/2022/rd20220088/)
        * [Decree 15/2025 (National day is moved)](https://web.archive.org/web/20250121132446/https://decree.om/2025/rd20250015/)
    OMaru   %s (المقدرة)i  )r   en_UST)islamic_show_estimatedr   c                \    t        j                  | t        |       t        |   |i | y)z
        Args:
            islamic_show_estimated:
                Whether to add "estimated" label to Islamic holidays name
                if holiday date is estimated.
        )clsshow_estimatedN)r   __init__OmanIslamicHolidayssuper)selfr   argskwargs	__class__s       W/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/holidays/countries/oman.pyr   zOman.__init__8   s0     	  ):P	
 	$)&)    dtreturnc                 Z    |t        dt        d      k\  rt        t        hS t        t        hS )Ni     )r   r	   r   r   r   )r!   r'   s     r%   _get_weekendzOman._get_weekendD   s%    4c1#55SzEC:Er&   c                    | j                   dk\  r| j                  t        d             | j                   dk  r| j                  t        d             | j                   dk\  r_t        d      }| j                   dk  r#| j	                  |       | j                  |       n"| j                  |       | j                  |       | j                  t        d             | j                  t        d             | j                  t        d	             t        d
      }| j                  |       | j                  |       | j                  |       | j                  |      D ]"  }t        |d      | vs| j!                  |       $ t        d      }| j#                  |       | j%                  |       | j'                  |       | j)                  |       y )N  u1   اليوم الوطني لتولي السلطان  u   يوم النهضةu   يوم وطني  u    رأس السنة الهجريةu   مولد النبيu   الإسراء والمعراجu   عيد الفطرr*   u   عيد الأضحى)_year_add_holiday_jan_11tr_add_holiday_jul_23_add_holiday_nov_18_add_holiday_nov_19_add_holiday_nov_20_add_holiday_nov_21_add_islamic_new_year_day_add_mawlid_day_add_isra_and_miraj_day_add_eid_al_fitr_day_add_eid_al_fitr_day_two_add_eid_al_fitr_day_three_add_holiday_29_ramadanr   _add_eid_al_fitr_eve_add_arafah_day_add_eid_al_adha_day_add_eid_al_adha_day_two_add_eid_al_adha_day_three)r!   namer'   s      r%   _populate_public_holidayszOman._populate_public_holidaysH   s   ::$$R([%\]::$$R(=%>?::'(DzzT!((.((.((.((. 	&&r*L'MN 	R 567 	$$R(I%JK %&!!$'%%d+''-..t4B"b!-))$/ 5
 '(T"!!$'%%d+''-r&   )__name__
__module____qualname____doc__countrydefault_languager2   estimated_label
start_yearsupported_languagesr   r   weekendboolr   r   setintr+   rE   __classcell__)r$   s   @r%   r   r   $   sb    	 G./OJ)CjG=A 
*d 
*Ft FC F*.r&   r   c                       e Zd Zy)r   NrF   rG   rH    r&   r%   r   r   u       r&   r   c                       e Zd Zy)OMNNrU   rV   r&   r%   rY   rY   y   rW   r&   rY   c                       e Zd ZdZedfedfedfedfdZdZe	dfe	dfed	fd
Z
dZedfedfdZdZdedfiZdZedfedfdZdZdedfiZy)r   )  r/   r*      
      )r.   r-          	      )r_     r`   )r[     )rd   r`   )r.   r/   r/      )r.   re         )r`   re      N)rF   rG   rH   $HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARSr   r   r   HIJRI_NEW_YEAR_DATESMAWLID_DATES_CONFIRMED_YEARSr   MAWLID_DATES$ISRA_AND_MIRAJ_DATES_CONFIRMED_YEARSr   r   ISRA_AND_MIRAJ_DATES!EID_AL_ADHA_DATES_CONFIRMED_YEARSr
   EID_AL_ADHA_DATES!EID_AL_FITR_DATES_CONFIRMED_YEARSr   EID_AL_FITR_DATES'RAMADAN_BEGINNING_DATES_CONFIRMED_YEARSRAMADAN_BEGINNING_DATESrV   r&   r%   r   r   }   s    +7(AhBiBiBi	 $0 BiAhBiL ,8(AhBi )5%sBi
 )5%BiBi /;+sBir&   r   N)datetimer   r   r2   holidays.calendarsr   holidays.calendars.gregorianr   r   r   r	   r
   r   r   r   r   r   r   r   r   holidays.groupsr   holidays.holiday_baser   r   r   rY   r   rV   r&   r%   <module>r{      sb     ! 5    , -N.; N.b	 		$ 	*0 *r&   