o
    r¾ü_‹  ã                   @   s   G d d„ dƒZ dS )c                   @   sD   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dS )Úsysctlc                 C   s
   i | _ d S ©N)Úcache©Úself© r   ú//usr/lib/python3/dist-packages/procfs/sysctl.pyÚ__init__   s   
zsysctl.__init__c                 C   s4   || j vr|  |¡}|d u rd S || j |< | j | S r   )r   Úread©r   ÚkeyÚvaluer   r   r   Ú__getitem__   s   



zsysctl.__getitem__c                 C   s:   | | }|d u r
t ‚||kr|  ||¡ || j|< d S d S r   )ÚIOErrorÚwriter   )r   r   r   Úoldvaluer   r   r   Ú__setitem__"   s   þzsysctl.__setitem__c                 C   s   t | j ¡ ƒS r   )Úlistr   Úkeysr   r   r   r   r   +   s   zsysctl.keysc                 C   s>   zt d| dd¡ ƒ}W n   Y d S | ¡  ¡ }| ¡  |S )Nú/proc/sys/%sÚ.ú/)ÚopenÚreplaceÚreadlineÚstripÚclose)r   r   Úfr   r   r   r   r	   .   s   zsysctl.readc                 C   s>   zt d| dd¡ dƒ}W n   Y d S | |¡ | ¡  d S )Nr   r   r   Úw)r   r   r   r   )r   r   r   r   r   r   r   r   7   s   
zsysctl.writec                 C   s<   t | j ¡ ƒD ]}| j|= |  |¡}|d ur|| j|< qd S r   )r   r   r   r	   r
   r   r   r   Úrefresh?   s   

€üzsysctl.refreshN)
Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r	   r   r   r   r   r   r   r      s    			r   N)r   r   r   r   r   Ú<module>   s   