
]U                 @   s#   d  d l  Z  Gd d   d  Z d S)    Nc               @   s   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    | |  _  | |  _ |  j   d  S)N)locationvalueload)selfr   default r   ./extra/hacker/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 |  _  | |  _ |  j   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   s7   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   sp   yD t  |  j d  " } t | j   j    |  _ Wd  QRXd |  _ Wn% t k
 rk } z WYd  d  } ~ Xn Xd  S)NrbF)openr   intreaddecoder   r   IOError)r   inper   r   r	   r      s    "zSavedInteger.loadc             C   s   |  j  s d  St |  j d d  # } | j t |  j  j    Wd  QRXy t j |  j  Wn t	 k
 rq Yn Xt j
 |  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   