Ë
    Ž±€ej  ã                   ó$   — d Z ddlZ G d„ d«      Zy)zŽ
Copyright (C) 2013-2014 Eygene A. Ryabinkin and contributors

Collection of classes that implement const-like behaviour
for various objects.
é    Nc                   ó.   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú
ConstProxyzbImplements read-only access to a given object
    that can be attached to each instance only once.c                 ó"   — d | j                   d<   y )NÚ__source)Ú__dict__)Úselfs    ú2/usr/share/offlineimap3/offlineimap/utils/const.pyÚ__init__zConstProxy.__init__   s   € Ø$(ˆ‰jÒ!ó    c                 óx   — | j                   d   }|€t        d«      ‚t        j                  t	        ||«      «      S )Nr   z)using non-initialized ConstProxy() object)r   Ú
ValueErrorÚcopyÚdeepcopyÚgetattr)r   ÚnameÚsrcs      r	   Ú__getattr__zConstProxy.__getattr__   s7   € Øm‰m˜JÑ'ˆØˆ;ÜÐHÓIÐIÜ}‰}œW S¨$Ó/Ó0Ð0r   c                 ó&   — t        d|›d|›d«      ‚)Nztried to set 'z' to 'z' for constant object)ÚAttributeError)r   r   Úvalues      r	   Ú__setattr__zConstProxy.__setattr__   s   € ÝÚ"¢Eð+ó ,ð 	,r   c                 ó   — t        d|z  «      ‚)Nz/tried to delete field '%s' from constant object)ÚRuntimeError)r   r   s     r	   Ú__delattr__zConstProxy.__delattr__   s   € ÜÐLØñ ó !ð 	!r   c                 óV   — | j                   d   t        d«      ‚|| j                   d<   y)z' Sets source object for this instance. r   Nzsource object is already set)r   r   )r   Úsources     r	   Ú
set_sourcezConstProxy.set_source   s+   € à=‰=˜Ñ$Ð0ÜÐ;Ó<Ð<Ø$*ˆ‰jÒ!r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   r   r   r   r   © r   r	   r   r   
   s    „ ñ8ò)ò1ò,ò!ó+r   r   )r!   r   r   r"   r   r	   ú<module>r#      s   ðñó ÷+ò +r   