
    #hB                        d dl Z d dlZd dlZd dlmZ d dlZd dlmZ d dl	m
Z
mZ g dZ ej                  d      Z ej                  d      Z ej                  dej                         Z ej                  d	j%                  e            Z ej                  d
      Z ej                  d      Z ej                  d      ZdZd Zd Zd Zd Zd Zd Zedk(  r e        yy)    N)OrderedDict)_get_language_locale_dict)get_dict_differenceget_raw_data)	u   ’u   ʼu   ʻu   ՚u   ꞌu   ′u   ‵u   ʹu   ＇u0   ([DMY])+‏*[-/. 	]*([DMY])+‏*[-/. 	]*([DMY])+z(?<![\+\-]\s*)\{0\}z^M?\d+$|z^\s*[Aa]\s*\.?\s*[Mm]\s*\.?\s*$z^\s*[Pp]\s*\.?\s*[Mm]\s*\.?\s*$z[\(\)]z!../raw_data/cldr_dates_full/main/c                     t        | t              xr- t        j                  |       xr t        j                  |        S N)
isinstancestrRELATIVE_PATTERNsearchPARENTHESIS_PATTERN)relative_strings    ]/var/www/html/sandstorm/venv/lib/python3.12/site-packages/dateparser_scripts/get_cldr_data.py_filter_relative_stringr   $   s:    ?C( 	<##O4	<#**?;;    c                 .    t         j                  |        S r	   )DEFAULT_MONTH_PATTERNmatch)
month_names    r   _filter_month_namer   ,   s    $**:666r   c                    t         | z   dz   }t         | z   dz   }t        |      5 }t        j                  |t              }d d d        t        |      5 }t        j                  |t              }d d d        d   |    d   d   d   }d   |    d   d   }t	               }	d	d
g}
ddg}g d}g d}g d}g d}g d}g d}g d}ddg}| |	d<   	 |d   d   j                         }t        j                  dt        j                  |      j                               |	d<   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d     c}}            |	d<   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d     c}}            |	d <   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d!     c}}            |	d"<   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d#     c}}            |	d$<   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d%     c}}            |	d&<   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d'     c}}            |	d(<   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d)     c}}            |	d*<   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d+     c}}            |	d,<   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d-     c}}            |	d.<   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d/     c}}            |	d0<   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d1     c}}            |	d2<   t        t        t        |
D cg c]  }|D ]  }|d   |   |   d3     c}}            |	d4<   |
D cg c]  }|D ]  }|d5   |   |   d6     c}}|	d7<   |
D cg c]  }|D ]  }|d5   |   |   d8     c}}|	d9<   |
D cg c]  }|D ]  }|d5   |   |   d:     c}}|	d;<   |
D cg c]  }|D ]  }|d5   |   |   d<     c}}|	d=<   |
D cg c]  }|D ]  }|d5   |   |   d>     c}}|	d?<   |
D cg c]  }|D ]  }|d5   |   |   d@     c}}|	dA<   |
D cg c]  }|D ]  }|d5   |   |   dB     c}}|	dC<   |
D cg c]  }|D ]  }|dD   |   |   dE     c}}D cg c]  }t        j                  dE|       c}|	dE<   |
D cg c]  }|D ]  }|dD   |   |   dF     c}}D cg c]  }t        j                  dF|       c}|	dF<   |D cg c]
  }||   dG    c}|	dH<   |D cg c]
  }||   dG    c}|	dI<   |D cg c]
  }||   dG    c}|	dJ<   |D cg c]
  }||   dG    c}|	dK<   |D cg c]
  }||   dG    c}|	dL<   |D cg c]
  }||   dG    c}|	dM<   |D cg c]
  }||   dG    c}|	dN<   t	               |	dO<   |D cg c]
  }||   dP    c}|	dO   dQ<   |D cg c]
  }||   dR    c}|	dO   dS<   |D cg c]
  }||   dT    c}|	dO   dU<   |D cg c]
  }||   dP    c}|	dO   dV<   |D cg c]
  }||   dR    c}|	dO   dW<   |D cg c]
  }||   dT    c}|	dO   dX<   |D cg c]
  }||   dP    c}|	dO   dY<   |D cg c]
  }||   dR    c}|	dO   dZ<   |D cg c]
  }||   dT    c}|	dO   d[<   |D cg c]
  }||   dP    c}|	dO   d\<   |D cg c]
  }||   dR    c}|	dO   d]<   |D cg c]
  }||   dT    c}|	dO   d^<   |D cg c]
  }||   dR    c}|	dO   d_<   |D cg c]
  }||   dR    c}|	dO   d`<   |D cg c]
  }||   dR    c}|	dO   da<   t	               |	db<   t        t        t         |D cg c]   }|D ]  }||   dc   j#                  |       " c}}            |	db   dd<   t        t        t         |D cg c]   }|D ]  }||   de   j#                  |       " c}}            |	db   df<   t        t        t         |D cg c]   }|D ]  }||   dc   j#                  |       " c}}            |	db   dg<   t        t        t         |D cg c]   }|D ]  }||   de   j#                  |       " c}}            |	db   dh<   t        t        t         |D cg c]   }|D ]  }||   dc   j#                  |       " c}}            |	db   di<   t        t        t         |D cg c]   }|D ]  }||   de   j#                  |       " c}}            |	db   dj<   t        t        t         |D cg c]   }|D ]  }||   dc   j#                  |       " c}}            |	db   dk<   t        t        t         |D cg c]   }|D ]  }||   de   j#                  |       " c}}            |	db   dl<   t        t        t         |D cg c]   }|D ]  }||   dc   j#                  |       " c}}            |	db   dm<   t        t        t         |D cg c]   }|D ]  }||   de   j#                  |       " c}}            |	db   dn<   t        t        t         |D cg c]   }|D ]  }||   dc   j#                  |       " c}}            |	db   do<   t        t        t         |D cg c]   }|D ]  }||   de   j#                  |       " c}}            |	db   dp<   t        t        t         |D cg c]   }|D ]  }||   dc   j#                  |       " c}}            |	db   dq<   t        t        t         |D cg c]   }|D ]  }||   de   j#                  |       " c}}            |	db   dr<   |	S # 1 sw Y   	xY w# 1 sw Y   xY w# t        $ r |d   d   d   j                         }Y w xY wc c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}w c c}}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w c c}}w )sNz/ca-gregorian.jsonz/dateFields.json)object_pairs_hookmaindates	calendars	gregorianfieldszstand-aloneformatwideabbreviated)yearz
year-shortzyear-narrow)monthzmonth-shortzmonth-narrow)weekz
week-shortzweek-narrow)dayz	day-shortz
day-narrow)hourz
hour-shortzhour-narrow)minutezminute-shortzminute-narrow)secondzsecond-shortzsecond-narrowzrelativeTimePattern-count-onezrelativeTimePattern-count-othernamedateFormatsshort_valuez\1\2\3
date_ordermonths1january2february3march4april5may6june7july8august9	september10october11november12decemberdaysmonmondaytuetuesdaywed	wednesdaythuthursdayfrifridaysatsaturdaysunsunday
dayPeriodsampmdisplayNamer"   r#   r$   r%   r&   r'   r(   zrelative-typezrelative-type--1z
1 year agozrelative-type-0z
0 year agozrelative-type-1z	in 1 yearz1 month agoz0 month agoz
in 1 monthz
1 week agoz
0 week agoz	in 1 weekz	1 day agoz	0 day agozin 1 dayz
0 hour agoz0 minute agoz0 second agozrelative-type-regexzrelativeTime-type-futurez
in \1 yearzrelativeTime-type-pastz\1 year agozin \1 monthz\1 month agoz
in \1 weekz\1 week agoz	in \1 dayz
\1 day agoz
in \1 hourz\1 hour agozin \1 minutez\1 minute agozin \1 secondz\1 second ago)cldr_dates_full_diropenjsonloadr   upperAttributeErrorDATE_ORDER_PATTERNsubr   grouplistfilterr   
AM_PATTERN
PM_PATTERNr   get)localeca_gregorian_filedateFields_filefcldr_gregorian_datagcldr_datefields_datagregorian_dictdate_fields_dict	json_dictfield_keys_1field_keys_2	year_keys
month_keys	week_keysday_keys	hour_keysminute_keyssecond_keysrelative_keysdate_format_stringkey1key2xkeys                            r   _retrieve_locale_datar   0   s   +f47KK)F25GGO		  JA"ii[IJ 
o	 K!#yykJK )08A+NN ,F3F;GDXNI!8,LL 6I9J5I1H5I=K=K46WXMIfV+M:7CIIK 144%,,-?@FFHIl   )(  x(.t4S99	
	Ii ! )(  x(.t4S99	
	Ij  )(  x(.t4S99	
	Ig  )(  x(.t4S99	
	Ig  )(  x(.t4S99	
	Ie  )(  x(.t4S99	
	If  )(  x(.t4S99	
	If  )(  x(.t4S99	
	Ih " )(  x(.t4S99	
	Ik   )(  x(.t4T::	
	Ii ! )(  x(.t4T::	
	Ij ! )(  x(.t4T::	
	Ij !   	vt$T*511Ih !   	vt$T*511Ii !   	vt$T*511Ik !   	vt$T*511Ij !   	vt$T*511Ih !   	vt$T*511Ij !   	vt$T*511Ih %
$
  <(.t4T:
:
 	tQIdO %
$
  <(.t4T:
:
 	tQIdO JSS#)#.}=SIfJTU3*3/>UIgIRS#)#.}=SIfHPQ(-m<QIeIRS#)#.}=SIfKVWC+C0?WIhKVWC+C0?WIh!,Io >G069010Io|,
 =F058/00Io|,
 =F/58/0/Io{+
 >H169011Io}-
 =G158/01Io}-
 =G058/00Io|,
 >G069010Io|,
 =F058/00Io|,
 =F/58/0/Io{+
 >F/6901/Io{+
 =E/58/0/Io{+
 =E.58/0.Ioz*
 =F058/00Io|,
 =H258/02Io~.
 =H258/02Io~. (3}I#$6:# &)  !&'ABFFtLL	
	7I#$]3 8<# &)  !&'?@DDTJJ	
	8I#$^4 8<# ')  !&'ABFFtLL	
	8I#$^4 9=# ')  !&'?@DDTJJ	
	9I#$_5 7;# &)  !&'ABFFtLL	
	7I#$]3 8<# &)  !&'?@DDTJJ	
	8I#$^4 6:# %)  !&'ABFFtLL	
	6I#$\2 7;# %)  !&'?@DDTJJ	
	7I#$]3 7;# &)  !&'ABFFtLL	
	7I#$]3 8<# &)  !&'?@DDTJJ	
	8I#$^4 9=# ()  !&'ABFFtLL	
	9I#$_5 :># ()  !&'?@DDTJJ	
	:I#$%56 9=# ()  !&'ABFFtLL	
	9I#$_5 :># ()  !&'?@DDTJJ	
	:I#$%56 ]J JK K8  V+M:7CHMSSUV

 TUSQSWW00/11000///.022s  qqq! 2r
1r0r/r.r"-r(,r.+r4*r:)s (s'ss?s'ss$7s*s0s6/s<t9tttt4tt!&t&?t+t0>t5t:6t?u.u	
u&uuu:u"u'2u,u1*u6u;?%v 
%v%v %v+%v6%v%v$%v*%v0"%v6-%v<8%w%w%wqq!"rrc                     t         j                  d|       } | j                  dd      } | j                         } dj	                  | j                               S )N'.  )RE_SANITIZE_APOSTROPHEra   replacelowerjoinsplit)given_strings    r   _clean_stringr     sL    )--c<@L''R0L%%'L88L&&())r   c           	         | j                         D ]  \  }}t        |t              r0t        t	        j
                  t        t        |                  | |<   Ft        |t              sWt	        t        |j                                     | |<   t        | |         | |<    t	        t        d | j                                     S )zRemove duplicates and sortc                     | d   S )N    )r   s    r   <lambda>z_clean_dict.<locals>.<lambda>  s
    ! r   )itemsr
   rc   sortedr   fromkeysmapr   dict_clean_dictrd   )rq   r   values      r   r   r     s    oo' 9
UeT"#K$8$8]E9R$STIcNt$()>?IcN(38IcN9 vnioo.?@AAr   c                     t                t               } d}d}t        j                  j	                  |      st        j
                  |       t        j                  j	                  |      rt        j                  |       t        j
                  |       | D ]  }t        t        |            }t               }| |   }|D ].  }t        t        |            }t        t        ||            ||<   0 t        t        |j                                     |d<   ||z   dz   }	t        d|	z          t        j                   |ddd	      j#                  d
      }
t%        |	d      5 }|j'                  |
       d d d         y # 1 sw Y   xY w)Nz%../dateparser_data/cldr_language_dataz<../dateparser_data/cldr_language_data/date_translation_data/locale_specificz.jsonzwriting    ),z: F)indent
separatorsensure_asciizutf-8wb)r   r   ospathisdirmkdirshutilrmtreer   r   r   r   r   r   printr\   dumpsencoder[   write)language_locale_dictparent_directory	directorylanguagejson_language_dictlocale_specific_dictlocales_listrh   json_locale_dictfilenamejson_stringrk   s               r   r   r     si   N46>NI77==)*
!"	ww}}Yi HHY( !()>x)HI*}+H5" 	F*+@+HI+6#$68HI, (	
 1<'--/01
,- x''1j8#$jjq[u

&/ 	 (D! 	!QGGK 	! 	!#!"	! 	!s    E==F	__main__)r\   r   r   collectionsr   regexre"dateparser_scripts.order_languagesr   dateparser_scripts.utilsr   r   APOSTROPHE_LOOK_ALIKE_CHARScompiler`   r   Ur   r   r   re   rf   r   rZ   r   r   r   r   r   r   __name__r   r   r   <module>r      s     	  #  H F
   RZZ>  2::45 "

:rtt4 #CHH-H$IJ RZZ:;
RZZ:;
 bjj+ 9 7Qh*B!@ zF r   