o
    Df                     @  sp   d Z ddlmZ ddlZddlmZ ddlmZ dZe	edr%dd
dZ
ndddZ
dddZG dd dZdS )zSystem information utilities.    )annotationsNceil)cached_property)load_averagedf
getloadavgreturntuple[float, ...]c                   C  s   t dd t D S )Nc                 s  s     | ]}t |d  d  V  qdS )      Y@Nr   ).0l r   M/home/ubuntu/webapp/venv/lib/python3.10/site-packages/celery/utils/sysinfo.py	<genexpr>   s    z _load_average.<locals>.<genexpr>)tupleosr   r   r   r   r   _load_average   s   r   c                   C  s   dS )N)        r   r   r   r   r   r   r   r      s   c                   C  s   t  S )z'Return system load average as a triple.)r   r   r   r   r   r      s   r   c                   @  sR   e Zd ZdZdddZedd	d
ZedddZedddZe	dddZ
dS )r   zDisk information.pathstr | bytes | os.PathLiker	   Nonec                 C  s
   || _ d S N)r   )selfr   r   r   r   __init__   s   
zdf.__init__floatc                 C     | j j| j j d S Ni   )statf_blocksf_frsizer   r   r   r   total_blocks"      zdf.total_blocksc                 C  r   r   )r   f_bavailr    r!   r   r   r   	available&   r#   zdf.availableintc                 C  s4   | j j}| j j| j j }tt|d ||  d S )Nr   g      ?)r   r$   r   f_bfreer&   r   )r   availusedr   r   r   capacity*   s   zdf.capacityos.statvfs_resultc                 C  s   t t j| jS r   )r   statvfsr   abspathr!   r   r   r   r   0   r#   zdf.statN)r   r   r	   r   )r	   r   )r	   r&   )r	   r+   )__name__
__module____qualname____doc__r   propertyr"   r%   r*   r   r   r   r   r   r   r      s    
r   )r	   r
   )r1   
__future__r   r   mathr   kombu.utils.objectsr   __all__hasattrr   r   r   r   r   r   r   <module>   s    


