ó
F+ÞOc           @   s   d  e  f d „  ƒ  YZ d S(   t   NonDataPropertyc           B   s#   e  Z d  Z d „  Z d d „ Z RS(   s]  Much like the property builtin, but only implements __get__,
	making it a non-data property, and can be subsequently reset.

	See http://users.rcn.com/python/download/Descriptor.htm for more
	information.

	>>> class X(object):
	...   @NonDataProperty
	...   def foo(self):
	...     return 3
	>>> x = X()
	>>> x.foo
	3
	>>> x.foo = 4
	>>> x.foo
	4
	c         C   s=   | d  k	 s t d ƒ ‚ t | ƒ s0 t d ƒ ‚ | |  _ d  S(   Ns   fget cannot be nones   fget must be callable(   t   Nonet   AssertionErrort   callablet   fget(   t   selfR   (    (    s;   /usr/lib/python2.7/dist-packages/keyring/util/properties.pyt   __init__   s    c         C   s   | d  k r |  S|  j | ƒ S(   N(   R   R   (   R   t   objt   objtype(    (    s;   /usr/lib/python2.7/dist-packages/keyring/util/properties.pyt   __get__   s    N(   t   __name__t
   __module__t   __doc__R   R   R	   (    (    (    s;   /usr/lib/python2.7/dist-packages/keyring/util/properties.pyR       s   	N(   t   objectR    (    (    (    s;   /usr/lib/python2.7/dist-packages/keyring/util/properties.pyt   <module>   s    