
    Mwg/                         d Z ddlZddlZddlmZ  ej
                  d      Z ej
                  dej                        Z ej
                  d      Z	d Z
d Zd	 Zy)
z
Type inference functions
    N)numbersz%^(?P<number>\-?[0-9]*\.?[0-9]*\s?)\%$z
^(?: # HH:MM and HH:MM:SS
(?P<hour>[0-1]{0,1}[0-9]{2}):
(?P<minute>[0-5][0-9]):?
(?P<second>[0-5][0-9])?$)
|
^(?: # MM:SS.
([0-5][0-9]):
([0-5][0-9])?\.
(?P<microsecond>\d{1,6}))
zD^-?([\d]|[\d]+\.[\d]*|\.[\d]+|[1-9][\d]+\.?[\d]*)((E|e)[-+]?[\d]+)?$c                 z    t         j                  |       r	 t        |       S y# t        $ r t	        |       cY S w xY w)z.Explicitly convert a string to a numeric valueN)NUMBER_REGEXmatchint
ValueErrorfloat)values    O/var/www/horilla/myenv/lib/python3.12/site-packages/openpyxl/utils/inference.pycast_numericr      s?    % 	 u: !  	 <	 s   
# ::c                 l    t         j                  |       }|rt        |j                  d            dz  S y)zKExplicitly convert a string to numeric value and format as a
    percentagenumberd   N)PERCENT_REGEXr   r	   group)r
   r   s     r   cast_percentager   #   s5     &EU[[*+c11     c                     t         j                  |       }|r_|j                  d      | dd } d}n|j                  d      d}nd}t        j                  j	                  | |      } | j                         S y)zJExplicitly convert a string to a number and format as datetime or
    timemicrosecondN   z%M:%S.%fsecondz%H:%Mz%H:%M:%S)
TIME_REGEXr   r   datetimestrptimetime)r
   r   patterns      r   	cast_timer   ,   sx     U#E;;}%1#2JE G[["*G G!!**5':zz| r   )__doc__r   reopenpyxl.stylesr   compiler   VERBOSEr   r   r   r   r    r   r   <module>r$      sf     	 #

CDRZZ 
 ZZ

 rzzab 2r   