관리-도구
편집 파일: _tzpath.cpython-311.pyc
� c��f� � �� � d dl Z d dlZd d�Zd� Zd� Zd� Ze j � e j � dd� � � � dd� Z e fd�Z [ d � Z G d � de� � Z da e� � dS )� Nc �� � | }|��t |t t f� � r%t ddt |� � � d|��z � � �t t t j j |� � � � st t |� � � � �|}nSt j � dd � � }|�t |� � }n!t t j d� � � � }t# |� � ad S )Nz!tzpaths must be a list or tuple, znot z: �PYTHONTZPATH�TZPATH)� isinstance�str�bytes� TypeError�type�all�map�os�path�isabs� ValueError�_get_invalid_paths_message�environ�get�_parse_python_tzpath� sysconfig�get_config_var�tupler )�to�tzpaths�base_tzpath�env_vars �7/opt/alt/python311/lib64/python3.11/zoneinfo/_tzpath.py�reset_tzpathr s� � � �G����g��U�|�,�,� ��4�5��g���5�5�'�5�5�6�� � � �3�r�w�}�g�.�.�/�/� B��7��@�@�A�A�A�����*�.�.���6�6����.�w�7�7�K�K�.��(��2�2�� �K� �;� � �F�F�F� c �F � | sdS | � t j � � }t t t j j |� � � � }t |� � t |� � k r1dd l}t |� � }|� d|z t � � |S )N� r z>Invalid paths specified in PYTHONTZPATH environment variable. )�splitr �pathsepr �filterr r �len�warningsr �warn�InvalidTZPathWarning)r � raw_tzpath� new_tzpathr% �msgs r r r s� � �� ��r����r�z�*�*�J��v�b�g�m�Z�8�8�9�9�J� �:���#�j�/�/�)�)�����(��4�4��� � �L�� � � � � � �r c �X � d� | D � � }d}||� |� � z }d|z S )Nc 3 �X K � | ]%}t j � |� � �!|V � �&d S �N)r r r )�.0r s r � <genexpr>z-_get_invalid_paths_message.<locals>.<genexpr>6 s5 � � � �I�I�d�R�W�]�]�4�5H�5H�I�T�I�I�I�I�I�Ir z z@Paths should be absolute but found the following relative paths:)�join)r � invalid_paths�prefix�indented_strs r r r 5 sC � �I�I�g�I�I�I�M� �F��F�K�K� �6�6�6�L� K� � �r c � � t | � � t D ]E}t j � || � � }t j � |� � r|c S �FdS )z,Retrieve the path to a TZif file from a key.N)�_validate_tzfile_pathr r r r0 �isfile)�key�search_path�filepaths r �find_tzfiler: A s_ � ��#����� � ���7�<�<��S�1�1�� �7�>�>�(�#�#� ��O�O�O� � �4r �_���c �� � t j � | � � rt d| � �� � �t j � | � � }t |� � t | � � k rt d| � �� � �t j � t j � ||� � � � }|� |� � st d| � �� � �d S )Nz.ZoneInfo keys may not be absolute paths, got: z6ZoneInfo keys must be normalized relative paths, got: z;ZoneInfo keys must refer to subdirectories of TZPATH, got: )r r r r �normpathr$ r0 � startswith)r �_base�new_path�resolveds r r5 r5 O s� � � �w�}�}�T��� ��C�T�C�C� � � � �w����%�%�H� �8�}�}��D� � �!�!��K�T�K�K� � � � �w�������U�H� =� =�>�>�H����u�%�%� ��P�$�P�P� � � � � r c �� � ddl m} t � � } | � d� � � d� � � d� � 5 }|D ]-}|� � � }|r|� |� � �. ddd� � n# 1 swxY w Y n# t t f$ r Y nw xY wd� }t D �]}t j � |� � s�#t j |� � D ]�\ }}}||k r2d|v r|� d� � d |v r|� d � � |D ]�} t j � || � � } t j � | |� � � }t j dk r |� t j d� � }|r||v r�z || � � r|� |� � ���ܐ�d|v r|� d� � |S ) a" Returns a set containing all available time zones. .. caution:: This may attempt to open a large number of files, since the best way to determine if a given file on the time zone search path is to open it and check for the "magic string" at the beginning. r )� resources�tzdata�zones�rNc � � t | d� � 5 }|� d� � dk cd d d � � S # 1 swxY w Y d S # t $ r Y dS w xY w)N�rb� s TZifF)�open�read� Exception)�fpath�fs r � valid_keyz&available_timezones.<locals>.valid_key� s� � � ��e�T�"�"� ,�a��v�v�a�y�y�G�+� ,� ,� ,� ,� ,� ,� ,� ,� ,� ,� ,� ,���� ,� ,� ,� ,� ,� ,��� � � ��5�5� ���s- �A �8�A �<�A �<� A � A�A�right�posix)�start�/� posixrules)� importlibrD �set�files�joinpathrK �strip�add�ImportError�FileNotFoundErrorr r r �exists�walk�remover0 �relpath�sep�replace)rD �valid_zonesrO �zonerP �tz_root�root�dirnamesrX �filerN r7 s r �available_timezonesrj i so � � $�#�#�#�#�#��%�%�K� � �_�_�X� &� &� /� /�� 8� 8� =� =�c� B� B� *�a�� *� *���z�z�|�|��� *��O�O�D�)�)�)�� *� *� *� *� *� *� *� *� *� *� *� *���� *� *� *� *��� �*�+� � � ��� ����� � � � )� )���w�~�~�g�&�&� ��%'�W�W�%5�%5� )� )�!�D�(�E��w��� �h�&�&��O�O�G�,�,�,��h�&�&��O�O�G�,�,�,�� )� )������T�4�0�0���g�o�o�e�7�o�;�;���6�S�=�=��+�+�b�f�c�2�2�C�� �c�[�0�0���9�U�#�#� )��O�O�C�(�(�(�� )� )�, �{�"�"� ���<�(�(�(��s5 �;B �1B�B �B�B �B�B �B/�.B/c � � e Zd ZdZdS )r'