Sindbad~EG File Manager
�
Mٜg� � � � d dl mZ d dlmZmZ d dlmZ d dlZd dlZd dl m
Z
d dlmZ d dl
mZmZ d dlmZ erd d lmZ d
dd
�Zg d�Zd� Zy)� )�annotations)�datetime�time)�
TYPE_CHECKINGN)�is_list_like)�find_stack_level)�ABCIndex� ABCSeries)�notna)�DateTimeErrorChoicesc � ��� �dk( r$t j dt t � �� ��fd�}| �| S t | t
� r| S t | t � r; || j |� }| j || j | j �� S t | t � r || |� S t | � r || |� S |t j | g� |� d S )a�
Parse time strings to time objects using fixed strptime formats ("%H:%M",
"%H%M", "%I:%M%p", "%I%M%p", "%H:%M:%S", "%H%M%S", "%I:%M:%S%p",
"%I%M%S%p")
Use infer_time_format if all the strings are in the same format to speed
up conversion.
Parameters
----------
arg : string in time format, datetime.time, list, tuple, 1-d array, Series
format : str, default None
Format used to convert arg into a time object. If None, fixed formats
are used.
infer_time_format: bool, default False
Infer the time format based on the first non-NaN element. If all
strings are in the same format, this will speed up conversion.
errors : {'ignore', 'raise', 'coerce'}, default 'raise'
- If 'raise', then invalid parsing will raise an exception
- If 'coerce', then invalid parsing will be set as None
- If 'ignore', then invalid parsing will return the input
Returns
-------
datetime.time
�ignorez�errors='ignore' is deprecated and will raise in a future version. Use to_time without passing `errors` and catch exceptions explicitly instead)�
stacklevelc � �� t | t t f� rt j | d�� } nt | dd� dkD rt
d� �t j | d�� } �r
|�t | � }g }|�=| D ]6 } |j t j ||� j � � �8 |S t d d }d
}| D ]\ }d } t j |� }|�|j |� �/�dk( rt d
| � d�� ��d k( r| c S |j d � �^ |S # t t f$ rB}�dk( rd|� d|� �}t |� |��d k( r | cY d }~c S |j d � Y d }~��d }~ww xY w# t t f$ r| |D ]s } t j || � j � }|s4|j! |j# | � � }
|j% d|
� d} n# t t f$ r Y �qw xY w Y ��$w xY w)N�O)�dtype�ndim� zAarg must be a string, datetime, list, tuple, 1-d array, or Series�raisezCannot convert z to a time with given format r Fr TzCannot convert arg z
to a time)�
isinstance�list�tuple�np�array�getattr� TypeError�asarray�_guess_time_format_for_array�appendr �strptimer �
ValueError�
_time_formats�
fromisoformat�pop�index�insert)
�arg�format�times�element�err�msg�formats�format_found�time_object�time_format�fmt�errors�infer_time_formats
���B/usr/local/lib/python3.12/site-packages/pandas/core/tools/times.py�_convert_listlikez"to_time.<locals>._convert_listlikeC s �� ��c�D�%�=�)��(�(�3�c�*�C�
�S�&�!�
$�q�
(��S��
� �j�j��C�(�����1�#�6�F�#%������+��L�L��!2�!2�7�F�!C�!H�!H�!J�K� �V ��9 $�A�&�G� �L���"��
%�"&�"4�"4�W�"=�K� �*��L�L��-��w�&�$�':�3�%�z�%J�K�K��x�'��J��L�L��&�1 �4 ���Q #�I�.�
+���(�-�g�Y� 7&�&,�X�/� � )��o�3�6���)�"�
����T�*�*��
+��$ #�I�.� %�'.�� %�*2�*;�*;�G�[�*Q�*V�*V�*X�K�#/�&-�k�k�'�-�-��2L�&M�� '���q�#� 6�/3��!�� *�I�6� %�$�%�� (/��%�s[ �;3D �E4� E1�/E,�E1�E,�,E1�4G?� AG%�#G?�%G7 �4G?�6G7 �7G?�>G?)r% �namer )�warnings�warn�
FutureWarningr r r r
�_values�_constructorr% r6 r r r r )r'