
    ,h
                     *    S r SSKJrJr  S\S\4S jrg)z:Contains utilities to handle datetimes in Huggingface Hub.    )datetimetimezonedate_stringreturnc                 :    U R                  S5      (       a1  SU ;  a	  U SS S-   n O"U SS R                  S5      u  pU SUSS S S3n [        R                  " U S5      R	                  [
        R                  S	9$ ! [         a  n[        S
U  S35      UeSnAff = f)ae  
Parses a date_string returned from the server to a datetime object.

This parser is a weak-parser is the sense that it handles only a single format of
date_string. It is expected that the server format will never change. The
implementation depends only on the standard lib to avoid an external dependency
(python-dateutil). See full discussion about this decision on PR:
https://github.com/huggingface/huggingface_hub/pull/999.

Example:
    ```py
    > parse_datetime('2022-08-19T07:19:38.123Z')
    datetime.datetime(2022, 8, 19, 7, 19, 38, 123000, tzinfo=timezone.utc)
    ```

Args:
    date_string (`str`):
        A string representing a datetime returned by the Hub server.
        String is expected to follow '%Y-%m-%dT%H:%M:%S.%fZ' pattern.

Returns:
    A python datetime object.

Raises:
    :class:`ValueError`:
        If `date_string` cannot be parsed.
Z.Nz.000000Z   z0<6z%Y-%m-%dT%H:%M:%S.%fZ)tzinfozCannot parse 'zS' as a datetime. Date string is expected to follow '%Y-%m-%dT%H:%M:%S.%fZ' pattern.)endswithsplitr   strptimereplacer   utc
ValueError)r   basefractiones       W/var/www/html/shao/venv/lib/python3.13/site-packages/huggingface_hub/utils/_datetime.pyparse_datetimer      s    8$$+%)#2.; "-Sb!1!7!7!<!%a!S'9;  .EFNNV^VbVbNcc [M *7 7
 	s   A8A; ;
BBBN)__doc__r   r   strr        r   <module>r      s!    A '/ / /r   