
    %$}g!                        d dl Z d dlZd dlmZ d dlZd dlZd dlmZ d dl	m
Z
  ej        ej                            ej                            e                               h dZd Zd Zd Zd	 Zed
k    r e             dS dS )    N)OrderedDict)Selector)get_raw_data>	   vai-Latnvai-Vaiicutkvokkjndsprgvaic                     d} t          j        |           }d |D             }|                    d           i }|D ]?}g ||<   |D ]5}t          j        |dz   |          r||                             |           6@t          D ]	}||v r||= 
|S )Nz!../raw_data/cldr_dates_full/main/c                 <    g | ]}t          j        d |          |S )-[A-Z0-9]+$)research).0	shortnames     b/var/www/py-google-trends/myenv/lib/python3.11/site-packages/dateparser_scripts/order_languages.py
<listcomp>z-_get_language_locale_dict.<locals>.<listcomp>   s:          y33          rootr   )oslistdirremover   matchappendavoid_languages)cldr_dates_full_diravailable_locale_namesavailable_language_nameslanguage_locale_dictlanguage_namelocale_namelanguages          r   _get_language_locale_dictr'      s    =Z(;<<   /     
 ##F+++1 H H.0]+1 	H 	HKx5{CC H$]3::;GGG	H $ / /+++$X.r   c                    d }d}t          |          5 }t          j        |          }d d d            n# 1 swxY w Y   |d         d         }i |D ]y}t          ||         d                   }	 ||         d         }|D ]:}	t	          ||	         d                   |z  }
|	v r|	xx         |
z  cc<   5|
|	<   ;j# t
          $ r Y vw xY w |            }|t                                          fdd	
          z   t          t                    fd          }t          dt          |                    D ]!}t          j        dd||                   ||<   "|                                 }d}d t          j        |          D             }t          |                              t          |                    fd|D             }t                    t          |          z
  }g }|D ]^}	t          j        dd|	          }||v r-|                    |                    |          dz   |	           I|                    |	           _|t          |          z   }t'          t)          t*          |                    }|S )Nc                     g d} t          j        d          }t          |j                  }|j        r	 |                    d                                          }|st          d          d |D             }|d         dk    rt          d	          n9# t          $ r*}t          |           t          d
           | cY d }~S d }~ww xY w| S |S )N)&enruesdetrfrfajazhviitnlptarplidkoukthhecssvroeldahufisrskbgnbhrltnohislcaetz:https://w3techs.com/technologies/overview/content_language)textz//table[@class='bars']//a/@hrefzNo bars foundc                 `    g | ]+}|                     d d                              d          ,S )z+https://w3techs.com/technologies/details/cl -)replacestrip)r   is     r   r   zH_get_language_order.<locals>.get_most_common_locales.<locals>.<listcomp>]   sL     + + +  IIKRPPVV + + +r   r   r*   z!English is not the first languagez6The website could have changed, please update the code)
requestsgetr   rP   okxpathgetall
ValueError	Exceptionprint)old_common_localesresponseselbarsnew_most_common_localeses         r   get_most_common_localesz4_get_language_order.<locals>.get_most_common_locales(   s%   '
 '
 '
R <H
 
 HM***; 	&*yy!BCCJJLL 6$_555+ + "	+ + +' +1-55$%HIII 6 * * *aNOOO)))))))*
 &%&&s   AB 
C
 C?C
C
z5../raw_data/cldr_core/supplemental/territoryInfo.jsonsupplementalterritoryInfo_populationlanguagePopulation_populationPercentc                     |          | fS N )xlanguage_population_dicts    r   <lambda>z%_get_language_order.<locals>.<lambda>   s    /2A6 r   T)keyreversec                 .                         |           S rl   )index)rn   language_order_with_duplicatess    r   rp   z%_get_language_order.<locals>.<lambda>   s    4::1== r   )rq   r   _rS   zD../dateparser_data/supplementary_language_data/date_translation_datac                 "    g | ]}|d d         S )Nrm   )r   rn   s     r   r   z'_get_language_order.<locals>.<listcomp>   s     XXX!q"vXXXr   c                     g | ]}|v |	S rm   rm   )r   r   available_languagess     r   r   z'_get_language_order.<locals>.<listcomp>   s+       YBU5U5U	5U5U5Ur   z-\w+rR      )openjsonloadintfloatr]   sortedkeyssetrangelenr   subr   r   unioninsertrt   r   listmapstr)r#   re   territory_info_filefterritory_contentterritory_info_data	territory
population	lang_dictr&   language_populationmost_common_localeslanguage_orderrt   cldr_languagessupplementary_date_directorysupplementary_languagesabsent_languagesremaining_languagesparent_languagerz   ru   ro   s                       @@@r   _get_language_orderr   '   s   C' C' C'J R	!	"	" )a IaLL) ) ) ) ) ) ) ) ) ) ) ) ) ) )+N;OL!(  	,Y7FGG
	+I67KLI% M M)H-.BCDDzQ $ 777,X666:MM66669L,X66M  	 	 	D	 2133%86 %%''6666< < < &"
 *++====  N
 q#n--.. J J "tT>%3H I Iu)..00NN ! YXrz:V/W/WXXXn--33C8O4P4PQQ   #1  N .//#n2E2EE$ 1 1&"h77n,,!!."6"6"G"G!"KXVVVV&&x0000#f-@&A&AAN#c>2233Ns    9= =4AC  
CCc                     i }t          |           D ]A}d|vr|g||<   ||                    d          d                                      |           B|S )NrS   r   )r   splitr   )r   datalangs      r   generate_language_mapr      sd    D~&& 2 2d??DJJC#$++D1111Kr   c                     t                       t                      } t          |           }d}d}t          j                            |          st          j        |           dt          j        |dd          z   }t                      }|D ]6}|| 
                                v rt          | |                   ||<   1g ||<   7dt          j        |dd          z   }t          |          }dt          j        |dd          z   }	|d	z   |	z   d	z   |z   d
z   }
t          |d          5 }|                    |
           d d d            d S # 1 swxY w Y   d S )Nz../dateparser/data/z$../dateparser/data/languages_info.pyzlanguage_order = ),z:    )
separatorsindentzlanguage_locale_dict = zlanguage_map = z


w)r   r'   r   r   pathisdirmkdirr}   dumpsr   r   r   r   r|   write)r#   r   parent_directoryfilenamelanguage_order_stringcomplete_language_locale_dictrq   language_locale_dict_stringlanguage_map_datalanguage_map_data_stringlanguages_info_stringr   s               r   mainr      s   NNN466()=>>N,5H7==)** #
!"""/$*;q3 3 3  %0MM! 4 4&++----178LS8Q1R1R)#..13)#..";dj%+a? ? ? # .n==04:k!4 4 4  
 	
	
"	# 	 &		&
 	  
h		 '	%&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   (EEE__main__)r}   r   collectionsr   regexr   rW   parselr   dateparser_scripts.utilsr   chdirr   dirnameabspath__file__r   r'   r   r   r   __name__rm   r   r   <module>r      s    				 # # # # # #            1 1 1 1 1 1 22	3	3 4 4 4 YXX     ,| | |~  %' %' %'P zDFFFFF r   