o
    i                     @   sJ   d dl mZmZmZmZ G dd dZG dd deZG dd deZdS )	    )Dict
NamedTupleOptionalUnionc                   @   s   e Zd ZdZdededdfddZdefdd	Zdefd
dZdefddZ	de
defddZde
defddZdd defddZdS )	Timestampz"A nanosecond-resolution timestamp.secnsecreturnNc                 C   sD   |dk s|dkrt d| |dk r| }t|| _t|| _d S )Nr       eAz,Invalid value for nanoseconds in Timestamp: )
ValueErrorintr   r   )selfr   r    r   T/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/prometheus_client/samples.py__init__   s   
zTimestamp.__init__c                 C   s   | j  d| jdS )N.09dr   r   r   r   r   r   __str__   s   zTimestamp.__str__c                 C   s   d| j  d| j dS )Nz
Timestamp(z, )r   r   r   r   r   __repr__   s   zTimestamp.__repr__c                 C   s   t | jt | jd  S )Nr
   )floatr   r   r   r   r   r   	__float__      zTimestamp.__float__otherc                 C   s"   t |to| j|jko| j|jkS N)
isinstancer   r   r   r   r   r   r   r   __eq__   s   "zTimestamp.__eq__c                 C   s
   | |k S r   r   r   r   r   r   __ne__   s   
zTimestamp.__ne__c                 C   s   | j |j kp| j|jkS r   r   r   r   r   r   __gt__   r   zTimestamp.__gt__)__name__
__module____qualname____doc__r   r   strr   r   r   objectboolr   r    r!   r   r   r   r   r      s    r   c                   @   s>   e Zd ZU eeef ed< eed< dZee	ee
f  ed< dS )ExemplarlabelsvalueN	timestamp)r"   r#   r$   r   r&   __annotations__r   r,   r   r   r   r   r   r   r   r)   '   s   
 r)   c                   @   sV   e Zd ZU eed< eeef ed< eed< dZee	ee
f  ed< dZee ed< dS )Samplenamer*   r+   Nr,   exemplar)r"   r#   r$   r&   r-   r   r   r,   r   r   r   r0   r)   r   r   r   r   r.   -   s   
 r.   N)typingr   r   r   r   r   r)   r.   r   r   r   r   <module>   s    #