o
    i
                     @   s  d dl Z d dlmZmZmZmZmZ d dlmZ ddlm	Z	m
Z
mZmZmZmZmZ e ZedddejdZedddZddd	Z	dd
edefddZdddZ	dd
edefddZdddZdddZdddZdddZdddZeeeeeeeeeed
ZdS )    N)datetimetimedatetimezone	timedelta)Context   )MCS_PER_HOURMCS_PER_MINUTEMCS_PER_SECONDMLS_PER_HOURMLS_PER_MINUTEMLS_PER_SECOND
DAYS_SHIFTi  )tzinfoc                 C      t t| d d S N  microsecondsepochr   datawriter_schemareader_schema r   b/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/fastavro/_logical_readers_py.pyread_timestamp_millis   s   r   r   returnc                 C   r   r   epoch_naiver   r   r   r   r   read_local_timestamp_millis   s   r"   c                 C      t t| d S Nr   r   r   r   r   r   read_timestamp_micros   s   r%   c                 C   r#   r$   r    r   r   r   r   read_local_timestamp_micros$   s   r&   c                 C   s   t | t S N)r   fromordinalr   r   r   r   r   	read_date+   s   r)   c                 C   s
   t | S r'   )uuidUUIDr   r   r   r   	read_uuid/   s   
r,   c                 C   s>   | dd}|d }tj| ddd}|t_t|| tS )Nscaler   	precisionbigT)	byteordersigned)getint
from_bytesdecimal_contextpreccreate_decimalscaleb)r   r   r   r-   r.   unscaled_datumr   r   r   read_decimal3   s   
r:   c                 C   sJ   t | t }t | t d }t | t d }t | t d }t||||S )N<   r   )r3   r   r   r   r   )r   r   r   hmsmlsr   r   r   read_time_millis?   s
   r@   c                 C   sB   t | t }t | t d }t | t d }| t }t||||S )Nr;   )r3   r	   r
   r   r   )r   r   r   r<   r=   r>   mcsr   r   r   read_time_microsG   s
   rB   )
zlong-timestamp-milliszlong-local-timestamp-milliszlong-timestamp-microszlong-local-timestamp-microszint-datezbytes-decimalzfixed-decimalzstring-uuidzint-time-milliszlong-time-micros)NN)r*   r   r   r   r   r   decimalr   constr	   r
   r   r   r   r   r   r5   utcr   r!   r   r3   r"   r%   r&   r)   r,   r:   r@   rB   LOGICAL_READERSr   r   r   r   <module>   sJ    $









	
