File: //opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/descriptor_props.pyo
�
��4]c           @   s�  d  Z  d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m	 Z	 d d	 l m
 Z
 d d
 l m Z d d l m
 Z
 d d l m Z d d
 l m Z d d l m Z d e f d �  �  YZ e j j d d e �d e f d �  �  Y� Z e j j d d e �d e f d �  �  Y� Z e j j d d e �d e f d �  �  Y� Z e j j d d e �e j d d � d e f d �  �  Y� � Z d S(   s�   Descriptor properties are more "auxiliary" properties
that exist as configurational elements, but don't participate
as actively in the load/persist ORM loop.
i   (   t
   attributes(   t
   properties(   t   query(   t   MapperProperty(   t   PropComparator(   t	   _none_seti   (   t   event(   t   exc(   t   schema(   t   sql(   t   util(   t
   expressiont   DescriptorPropertyc           B   s   e  Z d  Z d Z d �  Z RS(   sS   :class:`.MapperProperty` which proxies access to a
        user-defined descriptor.c      	      s;  � � d t  f �  � f d �  �  Y} � j d  k rj t �  j � j d  � } �  j | � rj | � _ qj n  � j d  k r� � f d �  } � f d �  } � f d �  } t d | d | d | � � _ n  t j	 � j � � j
 j � j � j �  � f d	 �  d
 � j d � �} | � j � | _ �  j
 j � j | � d  S(   Nt
   _ProxyImplc              sb   e  Z e Z e Z e Z e �  � f d  �  � Z d �  Z	 e
 � d � r` e j � f d � Z
 n  RS(   c            s   t  �  j � j � j j S(   N(   t   getattrt   class_t   namet   implt   uses_objects(   t   self(   t   mappert   prop(    sR   /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/descriptor_props.pyR   *   s    c         S   s
   | |  _  d  S(   N(   t   key(   R   R   (    (    sR   /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/descriptor_props.pyt   __init__.   s    t   get_historyc            s   �  j  | | | � S(   N(   R   (   R   t   statet   dict_t   passive(   R   (    sR   /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/descriptor_props.pyR   3   s    (   t   __name__t
   __module__t   Falset   accepts_scalar_loadert   Truet   expire_missingt
   collectiont   propertyR   R   t   hasattrR    t   PASSIVE_OFFR   (    (   R   R   (    sR   /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/descriptor_props.pyR
   %   s   	c            s   t  |  �  j | � d  S(   N(   t   setattrR   (   t   objt   value(   R   (    sR   /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/descriptor_props.pyt   fset?   s    c            s   t  |  �  j � d  S(   N(   t   delattrR   (   R'