a
    	3j^                     @  s   d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	g dZ
eejZejddddddZd	dd
dZdddddZdddddZddddZddddddZedkre  dS )    )annotationsN)zAfrica/AbidjanzAfrica/CasablancazAmerica/Los_AngeleszAmerica/Santiagoz
Asia/TokyozAustralia/SydneyzEurope/DublinzEurope/LisbonzEurope/LondonzPacific/KiritimatiUTC)maxsizezpathlib.Path)returnc                  C  s8   d} t tjtjD ]}||   r|  S qtdd S )Nr   zCannot find time zone data.)mappathlibPathzoneinfoZTZPATHexistsOSError)keypath r   d/www/server/python_manager/versions/3.9.10/lib/python3.9/test/test_zoneinfo/data/update_test_data.pyget_zoneinfo_path)   s
    
r   ztyping.Dict[str, str]c                  C  s   t  } | d }| stdt|d}t|}W d    n1 sF0    Y  | dd\}}|dd  rt|dk s|dd  	 st
d	d
|  d|iS )Nz	tzdata.ziz*Time zone data does not include tzdata.zi.r    r         zJVersion string should be YYYYx, where YYYY is the year and x is a letter; zfound: version)r   r
   r   opennextstriprsplitisdigitlenisalpha
ValueError)r   Z	tzdata_zifZversion_line_r   r   r   r   get_zoneinfo_metadata4   s&    &
r!   strbytes)r   r   c                 C  s@   t  }t||  d}| W  d    S 1 s20    Y  d S )Nrb)r   r   read)r   r   r   r   r   r   get_zoneinfoO   s    r&   ztyping.List[str])datar   c                 C  s0   t | }t|}|d}tj|dd}|S )Nzutf-8F   )width)lzmacompressbase64Z	b85encodedecodetextwrapwrap)r'   Zcompressed_zonerawZraw_data_strZdata_strr   r   r   encode_compressedV   s
    


r1   z"typing.Dict[str, typing.List[str]]c                  C  s   dd t D } | S )Nc                 S  s   i | ]}|t t|qS r   )r1   r&   ).0r   r   r   r   
<dictcomp>a       z(load_compressed_keys.<locals>.<dictcomp>)KEYS)outputr   r   r   load_compressed_keys`   s    r7   zoneinfo_data.jsonNone)fnamer   c                 C  sv   t jddd tddd}t }t }||d}tt |  d$}tj||fi | W d    n1 sh0    Y  d S )NT)exist_okparents   )indentZ	sort_keys)metadatar'   w)TEST_DATA_LOCmkdirdictr7   r!   r   jsondump)r:   Zjson_kwargsZcompressed_keysr?   r6   r   r   r   r   update_test_dataf   s    rF   __main__)r8   )Z
__future__r   r,   	functoolsrD   r*   r   r.   typingr	   r5   r   __file__parentrA   	lru_cacher   r!   r&   r1   r7   rF   __name__r   r   r   r   <module>   s&   


