o
    gp
                     @   s   d Z ddlZddlmZ dedefddZdedefd	d
ZdedefddZdedefddZ	dedefddZ
dejdefddZdedefddZdedefddZdedefddZdedefddZdedefd d!Zdedejfd"d#ZdS )$z"Contains the Duration helper APIs.    N)Durationvaluereturnc                 C      t  }||  |S )a.  Converts a string to Duration.

  Args:
    value: A string to be converted. The string must end with 's'. Any
      fractional digits (or none) are accepted as long as they fit into
      precision. For example: "1s", "1.01s", "1.0000001s", "-3.100s"

  Raises:
    ValueError: On parsing problems.
  )r   FromJsonString)r   duration r   O/var/www/visachat/venv/lib/python3.10/site-packages/google/protobuf/duration.pyfrom_json_string   s   
r
   microsc                 C   r   )z"Converts microseconds to Duration.)r   FromMicroseconds)r   r   r   r   r	   from_microseconds      
r   millisc                 C   r   )z"Converts milliseconds to Duration.)r   FromMilliseconds)r   r   r   r   r	   from_milliseconds&   r   r   nanosc                 C   r   )z!Converts nanoseconds to Duration.)r   FromNanoseconds)r   r   r   r   r	   from_nanoseconds-   r   r   secondsc                 C   r   )zConverts seconds to Duration.)r   FromSeconds)r   r   r   r   r	   from_seconds4   r   r   tdc                 C   r   )zConverts timedelta to Duration.)r   FromTimedelta)r   r   r   r   r	   from_timedelta;   r   r   r   c                 C      |   S )a  Converts Duration to string format.

  Returns:
    A string converted from self. The string format will contains
    3, 6, or 9 fractional digits depending on the precision required to
    represent the exact Duration value. For example: "1s", "1.010s",
    "1.000000100s", "-3.100s"
  )ToJsonStringr   r   r   r	   to_json_stringB   s   	r   c                 C   r   )z$Converts a Duration to microseconds.)ToMicrosecondsr   r   r   r	   to_microsecondsN      r    c                 C   r   )z$Converts a Duration to milliseconds.)ToMillisecondsr   r   r   r	   to_millisecondsS   r!   r#   c                 C   r   )z#Converts a Duration to nanoseconds.)ToNanosecondsr   r   r   r	   to_nanosecondsX   r!   r%   c                 C   r   )zConverts a Duration to seconds.)	ToSecondsr   r   r   r	   
to_seconds]   r!   r'   c                 C   r   )zConverts Duration to timedelta.)ToTimedeltar   r   r   r	   to_timedeltab   r!   r)   )__doc__datetimegoogle.protobuf.duration_pb2r   strr
   floatr   r   r   r   	timedeltar   r   intr    r#   r%   r'   r)   r   r   r   r	   <module>   s   