File: //opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/orm/clsregistry.pyc
�
���ec @ s| d Z d d l 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 e � Z d � Z d � Z d � Z d e f d � � YZ d e f d � � YZ d e f d � � YZ d e f d � � YZ e j e � d � � d e f d � � YZ d � Z d e f d � � YZ d a d � Z d S( s� Routines to handle the string class registry used by declarative.
This system allows specification of classes and expressions used in
:func:`_orm.relationship` using strings.
i����Ni ( t
attributes( t
interfaces( t SynonymProperty( t ColumnProperty( t class_mapperi ( t exc( t
inspection( t util( t _get_table_keyc C s� | | k rE | | } t | t � sO t | | g � } | | <qO n
| | | <y | d } Wn( t k
r� t d d � | d <} n X| j j d � } xX | r� | j d � } | j | � } x | D] } | j | � } q� W| j | | � q� Wd S( s^ Add a class to the _decl_class_registry associated with the
given declarative class.
t _sa_module_registryt .i N(
t
isinstancet _MultipleClassMarkert KeyErrort
_ModuleMarkert Nonet
__module__t splitt popt
get_modulet add_class( t classnamet clst decl_class_registryt existingt root_modulet tokenst tokent module( ( sK /opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/orm/clsregistry.pyR s"