Sindbad~EG File Manager
�
TԚg� � �t � d Z ddlZddlmZ dddddd �Zd
� Zdedefd
�Zdedefd�Zdedefd�Z dedefd�Z
dS )z8Utilities for tests that are in the "burntsushi" format.� N)�Any�bool�datetime�datetime-local�
date-local�
time-local)�booleanzoffset datetimezlocal datetimez
local datez
local timec � � t | t � � rd| d�S t | t � � r$dt | � � � � � d�S t | t � � rdt | � � d�S t | t
� � rdt
t | � � � � d�S t | t j � � r2t | � � � � � }| j
rd|d�S d|d�S t | t j � � rdt t | � � � � d�S t | t j
� � rd t | � � d�S t | t � � rd
� | D � � S t | t � � rd� | � � � D � � S t# d� � �)
N�string��type�valuer �integer�floatr r r r c �, � g | ]}t |� � ��S � ��convert)�.0�is �9/usr/local/lib/python3.11/test/test_tomllib/burntsushi.py�
<listcomp>zconvert.<locals>.<listcomp>/ s � �(�(�(�q���
�
�(�(�(� c �4 � i | ]\ }}|t |� � ��S r r �r �k�vs r �
<dictcomp>zconvert.<locals>.<dictcomp>1 s$ � �6�6�6�$�!�Q��7�1�:�:�6�6�6r zunsupported type)�
isinstance�strr �lower�intr �_normalize_float_strr �_normalize_datetime_str� isoformat�tzinfo�time�_normalize_localtime_str�date�list�dict�items� Exception)�obj�vals r r r s� � ��#�s��� 7� �3�/�/�/� �C�� � � 7���S�����)9�)9�:�:�:� �C�� � � 7�!�C��H�H�5�5�5� �C�� � � 7��*>�s�3�x�x�*H�*H�I�I�I� �C��*� +� +� 7�%�c�m�m�o�o�6�6���:� 6�&��5�5�5�(�3�7�7�7� �C��� '� '�
7� �-�c�#�h�h�7�7�
�
�
�
�C��� '� '� 7� ���X�X�
�
�
�
�C�� � � 7�(�(�C�(�(�(�(� �C�� � � 7�6�6�#�)�)�+�+�6�6�6�6�
�&�
'�
'�'r r. �returnc �� � t | t � � rd� | D � � S t | t � � r�d| v r�d| v r�| d }t � ||� � }| d }|dk rt |� � }n,|dv rt
|� � }n|dk rt |� � }n|}|dk rd� |D � � S ||d �S d
� | � � � D � � S t d� � �)a� Normalize test objects.
This normalizes primitive values (e.g. floats), and also converts from
TOML compliance format [1] to BurntSushi format [2].
[1] https://github.com/toml-lang/compliance/blob/db7c3211fda30ff9ddb10292f4aeda7e2e10abc4/docs/json-encoding.md # noqa: E501
[2] https://github.com/BurntSushi/toml-test/blob/4634fdf3a6ecd6aaea5f4cdcd98b2733c2694993/README.md # noqa: E501
c �, � g | ]}t |� � ��S r �� normalize�r �items r r znormalize.<locals>.<listcomp>? s � �0�0�0�D� �$���0�0�0r r
r r > r r r �arrayc �, � g | ]}t |� � ��S r r3 r5 s r r znormalize.<locals>.<listcomp>O s � �:�:�:�D� �$���:�:�:r r c �4 � i | ]\ }}|t |� � ��S r r3 r s r r znormalize.<locals>.<dictcomp>Q s$ � �8�8�8�D�A�q��9�Q�<�<�8�8�8r z.Burntsushi fixtures should be dicts/lists only)
r r* r+ �_aliases�getr# r$ r( r, �AssertionError)r. �type_� norm_typer �
norm_values r r4 r4 5 s � � �#�t��� 1�0�0�C�0�0�0�0��#�t��� 9��S�=�=�W��^�^���K�E� ���U�E�2�2�I���L�E��G�#�#�1�%�8�8�
�
��<�<�<�4�U�;�;�
�
��l�*�*�5�e�<�<�
�
�"�
��G�#�#�:�:�E�:�:�:�:�%�
�;�;�;�8�8�C�I�I�K�K�8�8�8�8�
�I�
J�
J�Jr �dt_strc �2 � | d � � � dk r
| d d� dz } | d d� }| dd � }d|v rd}n d|v rd}nd}|r|� |� � \ }}}n|}d}d |v r|� d
� � n|}|dz |z |z |z S )N����zz+00:00�
� �+�-� �.�0�T)r! � partition�rstrip)r@ r) �rest�signr'