B
    ]U                 @   s   d dl Z G dd dZdS )    Nc               @   sX   e Zd 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d Zdd ZdS )SavedIntegerFc             C   s   || _ || _|   d S )N)locationvalueload)selfr   default r   &/home/creation/stories/code/saveint.py__init__   s    zSavedInteger.__init__c             C   s   | j d kr| jS | j S )N)r   r   )r   r   r   r	   get	   s    
 zSavedInteger.getc             C   s   d| _ || _|   d S )NT)dirtyr   save)r   r   r   r   r	   set   s    zSavedInteger.setc             C   s
   | j |kS )N)r   )r   otherr   r   r	   __gt__   s    zSavedInteger.__gt__c             C   s
   | j |kS )N)r   )r   r   r   r   r	   __eq__   s    zSavedInteger.__eq__c             C   s   | j S )N)r   )r   r   r   r	   __int__   s    zSavedInteger.__int__c             C   s*   dt | j }| jr|d }n|d }|S )Nzs(z*)))strr   r   )r   sr   r   r	   __repr__   s
    
zSavedInteger.__repr__c          
   C   s\   y4t | jd}t|  | _W d Q R X d| _W n" tk
rV } zW d d }~X Y nX d S )NrbF)openr   intreaddecoder   r   IOError)r   inper   r   r	   r      s    
zSavedInteger.loadc          	   C   s~   | j s
d S t| jd d}|t| j  W d Q R X yt| j W n t	k
r^   Y nX t
| jd | j d| _ d S )Nz.tmpwbF)r   r   r   writer   r   encodeosunlinkOSErrorrename)r   outr   r   r	   r   $   s       zSavedInteger.saveN)__name__
__module____qualname__r   r
   r   r   r   r   r   r   r   r   r   r   r   r	   r      s   r   )r"   r   r   r   r   r	   <module>   s   