Files
Home-AssistantConfig/deps/sqlalchemy/orm/__pycache__/loading.cpython-34.pyc

86 lines
14 KiB
Plaintext
Raw Normal View History

2016-10-11 16:42:06 +00:00
<EFBFBD>
}<7D><>WeY<00>@shdZddlmZddlmZddlmZmZddlmZ ddlm
Z
ddlm Z m Z dd l mZmZdd
lmZdd lZej<00>Zd d <00>Zejd<00>ddd<00><00>Zdd<00>Zd d d dd<00>Zd d d dd<00>Zd d d d dd<00>Zdd<00>Zdd<00>Zdd<00>Zd d!<00>Zd"d#<00>Zd S)$z<>private module containing functions used to convert database
rows into object instances and associated state.
the functions here are called primarily by Query, Mapper,
as well as some of the attribute loading strategies.
<EFBFBD>)<01>absolute_import<72>)<01>util<69>)<02>
attributes<EFBFBD>exc)<01>strategy_options)<02> _none_set<65> state_str)<02>_SET_DEFERRED_EXPIRED<45>_DEFER_FOR_STATE)rNc #s<>t<00><00>_dd<00><00>jD<><00>t<00>k}t<00>j<00>dkoP<00>jdj}|r}|rht}q}<00>fdd<00>}nytt<00><00><00>fdd<00><00>jD<><00><00>\<00>}|s<>tj d|<00><00>nx<>i<00>_
<00>j r<01>j <00>j <00>}|sPqn <00>j <00>}|r;<01>d<19><00>fd d<00>|D<>}n<00><00>fd
d<00>|D<>}|rrtj||<00>}nx|D] } | VqyW<>j s<>Pq<50>q<>Wn<tk
r<>}
z<00>j<00>tj|
<00>WYd d }
~
XnXd S) z$Return an ORM result as an iterator.cSsg|]}|j<00>qS<>)<01> filter_fn)<02>.0<EFBFBD>entr r <00></tmp/pip-build-zkr322cu/sqlalchemy/sqlalchemy/orm/loading.py<70>
<listcomp>#s zinstances.<locals>.<listcomp>rrcs tdd<00>t|<00><00>D<><00>S)Ncss!|]\}}||<00>VqdS)Nr )r<00>x<>fnr r r<00> <genexpr>.sz/instances.<locals>.filter_fn.<locals>.<genexpr>)<02>tuple<6C>zip)<01>row)<01>
filter_fnsr rr-szinstances.<locals>.filter_fncs%g|]}|j<00><00><00><00><00>qSr )Z row_processor)r<00> query_entity)<03>context<78>cursor<6F>queryr rr3s <02>resultcsg|]}<00>|<00><00>qSr r )rr)<01>procr rrGs cs/g|]%<00><00><00>fdd<00><00>D<><00><00>qS)csg|]}|<00><00><00>qSr r )rr)rr rrIs z(instances.<locals>.<listcomp>.<listcomp>r )r)<02> keyed_tuple<6C>process)rrrIs N)<12>
_new_runid<EFBFBD>runid<69> _entities<65>id<69>lenZsupports_single_entity<74>listrr<00>lightweight_named_tuple<6C>partialsZ
_yield_perZ fetchmanyZfetchallZ unique_list<73> Exception<6F>closeZraise_from_cause) rrr<00>filtered<65> single_entityr<00>labels<6C>fetch<63>rowsr<00>errr )rrrr rr!rr<00> instancessH      

    
r2zsqlalchemy.orm.queryTc s<>|j<00><00>r<00>j<00>n<00>j}zYd<00>_t|j<00>dk}|r<>t|jd<19>j<00>r<><00><00>fdd<00>|D<>}qst|<00>}n<><00>fdd<00>t|j<00>D<>}g}dd<00>|jD<>}t j
d|<00>} x<>|D]<5D>}
t|
<00>} x]|D]U} | | d k r<01>j t j | | <19>t j| | <19>d
<00>d i<00>| | <qqW|j| | <00><00>q<>Wt|<00>SWd |<00>_Xd S) z:Merge a result into this :class:`.Query` object's Session.Frrc s@g|]6}<00>jtj|<00>tj|<00>d<00>di<00><02>qS)<02>load<61>
_recursive)<04>_merger<00>instance_state<74> instance_dict)r<00>instance)r3<00>sessionr rrhs z merge_result.<locals>.<listcomp>cs.g|]$\}}t|<00>j<00>r|<00>qSr )<02>
isinstance<EFBFBD> _MapperEntity)r<00>i<>e)<01>querylibr rrps cSsg|]}|j<00>qSr )Z _label_name)rrr r rrss rNr3r4)r9Z
_autoflush<EFBFBD> autoflushr&r$r:r;r'<00> enumeraterr(r5rr6r7<00>append<6E>iter) r>r<00>iteratorr3r?r-rZmapped_entities<65>keysr rZnewrowr<r )r3r>r9r<00> merge_resultYs6     "   rEc Cs<>|jj|<00>}|dk r<>tj|<00>}|jr<>|tj@sJtjS|tj@s[|Sy|j||<00>Wq<57>t j
k
r<>|j |g<00>dSYq<59>Xn|SdSdS)zqLook up the given key in the given session's identity map,
check the object for expired state if found.
N) <0C> identity_map<61>getrr6ZexpiredZSQL_OKZPASSIVE_NO_RESULTZRELATED_OBJECT_OKZ _load_expired<65>orm_exc<78>ObjectDeletedErrorZ_remove_newly_deleted)r9<00>keyZpassiver8<00>stater r r<00>get_from_identity<74>s     rLc s<>|dk r|d}nd}|dkrD|j<00>}|j<00>n |j<00>}|dk r|j<00>}|j\}<00>d|kr<>t<00>fdd<00>t|j|<00>D<><00>} tj|| <00>}n|j |dd<00>}||_
t <00>fdd<00>t||j<00>D<><00>}
|
|_ n|dk r<d} |j |<00>}n*|jdk r`d} |j|_nd} |jdt|<00>d | d
|d |<00>d|_y|j<00>SWntjk
r<>dSYnXdS) z.Load the given identity key from the database.Nrcs/g|]%\}}|dkr<00>|j<00>qS)N)rJ)r<00>col<6F>value)<01> _get_paramsr rr<00>s z!load_on_ident.<locals>.<listcomp>TFcs)g|]\}}<00>|j|f<00>qSr )rJ)rZid_val<61> primary_key)rOr rr<00>s <01>populate_existing<6E> version_check<63>only_load_props<70> refresh_state)Z_cloneZ_get_conditionZ _mapper_zero<72> _get_clause<73>setrrP<00>sql_utilZadapt_criterion_to_nullZ _adapt_clauseZ
_criterion<EFBFBD>dict<63>_paramsZ with_lockmodeZ_for_update_argZ _get_options<6E>boolZ _order_byZonerHZ NoResultFound) rrJrTZlockmoderS<00>ident<6E>q<>mapperrUZnones<65>paramsrRr )rOr<00> load_on_ident<6E>sN               r_c  Ks<>|r|j|<00>}
n |j}
i} |j|jd| <00>xT|
D]L} |re| j|kreqDn| j||||d|d|d| | <00>qDW|dk r<>||jk r<>|r<>|j|} n|} |j| <00>ndS)N<>memoized_setupsrS<00>column_collectionZmemoized_populators) Z_iterate_polymorphic_propertiesZ_polymorphic_propertiesrVrrJ<00>setup<75>polymorphic_on<6F>columnsrA)rr]r<00>path<74>adapterraZwith_polymorphicrS<00>polymorphic_discriminator<6F>kwZpoly_properties<65>quick_populatorsrN<00>pdr r r<00>_setup_entity_query<72>s:      rkc s$<00>j<00>
<00>r+<00>fdd<00><00>
D<><00>
n<00>j<00>tjt<00><00> <00>j} <00> dk r}| j<00>fdd<00><00> D<><00>} n|j<00>jdt <00>}
x<>| D]<5D>} | |
krw|
| } | t
kr<><00> dj | j | j f<00>q<>| tkr <01> dj | j d f<00>q<><01>r#<01>j| } n|j| d <00>} | rX<01> d
j | j | f<00>q<>| j<00>|<00>|<00><00> <00>q<>| j<00>|<00>|<00><00> <00>q<>W<>j<00> <00> r<><01>jjjr<><01>jj|n|<00>n<00>jj<00><00>jp<><01>j<00> t<00>jjj<00><00>t<00>jjj<00><00>tj<00>tj <00><00>jj!<00><00>j"<00><00>j#<00><00>rv<02>j <00><00>dkr|<02>j$<00><00><00>q|nd<00><00>j%r<>t j&<00>n t j<00><00><00><00><00><00><00><00><00><00><00> <00>
<00> <00> <00> <00><00><00><00><00><00><00>fd d <00>}<00>j'r | r <03> r t(|<00><00>|||<00><00>}n|S) z`Produce a mapper level row processor callable
which processes rows into mapped instances.csg|]}<00>j|<19>qSr )rd)r<00>c)rfr rrs z'_instance_processor.<locals>.<listcomp>Nc3s|]}<00>j|VqdS)N)Z_props)r<00>k)r]r rr'sz&_instance_processor.<locals>.<genexpr>r`<00>new<65>expireF<65>quickc
s<><00>rB<00>}|j<00>}<00>|<00>}|j<00>k}d}d}n <01>t<00>fdd<00><00> D<><00>f}<00>j|<00>}|dk r<><00>|<00>}<00>|<00>}|j<00>k}| }d}<00>rN| rNt<00> ||<00><00><00>qNno<00>|d<19>r<>dSd}d}d}<00> jj<00>}<00>|<00>}<00>|<00>}||_<00>|_<00>j ||<00>|sZ<01> r.|r{<01>r{<01>|_
<00>|_ nt <00><00>||||<00> <00> <00>|r<>|r<><01>r<>|j jj|<00><00>n"<00>r<>|j jj|<00><00>
<00>n<00> s<>|jr+<02>r<02>
r|j|<00>
<00>q(|j|<00><00>q+q<>n<>|j}|<00>jk}| s]|s]<02> dr<>t<00><00>||||<00> <00>} |r<><02>r<>|j jj|<00>| <00>n|j|| <00>q<>n|S)NTFcsg|]}<00>|<19>qSr r )r<00>column)rr rrxs z:_instance_processor.<locals>._instance.<locals>.<listcomp>r<00>eager)<17>objr#rrG<00>_validate_version_id<69> class_managerZ new_instancerJ<00>
session_idZ_add_unpresentZ load_options<6E> load_path<74>_populate_full<6C>manager<65>dispatchr3<00>refresh<73>modifiedZ_commitZ _commit_all<6C>unloadedr)<00>_populate_partial)
rrKr8<00>dict_<74>isnewZ currentload<61>loaded_instanceZ identitykeyr}<00>to_load)rfr<00>identity_classr7r6<00>is_not_primary_key<65>load_evtrwr]rS<00>pk_colsrQ<00>
populators<EFBFBD>propagate_options<6E> refresh_evt<76>refresh_identity_keyrTr#rv<00>session_identity_maprR)rr<00> _instancehst   "                   z&_instance_processor.<locals>._instance))rPZ_identity_class<73> collections<6E> defaultdictr'Z _prop_set<65> intersectionrGrr r rArJZ_deferred_column_loaderr rdZ_getterZcreate_row_processorr<72>rZ _current_pathrer9rFrQZalways_refreshrZrurzr3r{r6r7Zhash_keyrRr#<00>_identity_key_from_state<74>allow_partial_pks<6B>
issuperset<EFBFBD>polymorphic_map<61>_decorate_polymorphic_switch)r]rrrerfrSrTrg<00>_polymorphic_from<6F>propsri<00>proprM<00>getterr<72>r )rfrr<>r7r6r<>r<>rwr]rSr<>rQr<>r<>r<>r<>rTr#rvr<>rRr<00>_instance_processor sl      
 
  (           Nlr<>c CsF|r|j|_x(|dD]\}} | |<00>||<qW|r<>xx|dD]5\}}
|j|d<00>|
rN|jj|<00>qNqNWn4x1|dD]%\}}
|
r<>|jj|<00>q<>q<>Wx(|dD]\}} | |||<00>q<>WxV|dD]\}} | |||<00>q<>Wn+x(|dD]\}} | |||<00>q"WdS)Nrprorn<00>delayed<65>existing)r#<00>pop<6F>expired_attributes<65>add) rrrKrr<>r<>rQr<>rJr<><00> set_callable<6C> populatorr r rrx<00>s$ rxc Cs<>|sP|j|}xN|dD]+\}} ||kr| |||<00>qqWn|}||j|<x7|dD]+\}}
||krn|
|<00>||<qnqnWxP|dD]D\}} ||kr<>|j|d<00>| r<>|jj|<00>q<>q<>q<>Wx7|dD]+\}} ||kr<>| |||<00>q<>q<>Wx7|dD]+\}} ||kr5| |||<00>q5q5Wx7|dD]+\}} ||kro| |||<00>qoqoW|S)Nr<4E>rprornr<>rr)r)r<>r<>r<>) rrrKrr<>r}r<>r<>rJr<>r<>r<>r r rr~<00>s2        r~cCs<>|j}|dkrdS|r/|j|}n|j|||j<00>||kr<>tjdt|<00>|j|||j<00>||f<16><00>ndS)NzWInstance '%s' has version id '%s' which does not match database-loaded version id '%s'.)<06>version_id_colrdZ_get_state_attr_by_columnrHZStaleDataErrorr
)r]rKrrrfr<>r r rrts  rtc s<>|dk r|<00>n <00>j<00><00>dkr.<00>S<>rD<00>j<00><19>n<00><00><00><00><00>fdd<00>}tj|<00><00><00><00><00>fdd<00>}|S)Ncsfy<00>j|}Wn"tk
r5td|<16><00>Yn-X|<00>krFdSt|<00><00><00><00>d<00><00>SdS)Nz*No such polymorphic_identity %r is definedr<64>)r<><00>KeyError<6F>AssertionErrorr<72>)<02> discriminatorZ
sub_mapper)rfrr]rerr r<00>configure_subclass_mapper<s   z?_decorate_polymorphic_switch.<locals>.configure_subclass_mappercs=|<00>}|dk r3<00>|}|r3||<00>Sn<00>|<00>S)Nr )rr<>r<>)<03> instance_fn<66>polymorphic_instancesrcr r<00>polymorphic_instanceOs 
 
 z:_decorate_polymorphic_switch.<locals>.polymorphic_instance)rcrdrZ PopulateDict) r<>rr]rrergrfr<>r<>r )rfrr<>r]rer<>rcrrr<>/s     r<>c s<>|j}|s+tjdt|<00><16><00>nt|j<00>}d}<00>jr<><00>j r<><00>j||<00>}|dk r<>t |j
<00><00>j t j <00><00>jd<00><00>j|<00>dd|d|<00>}q<>n|dkr<>|r<>|j}nY<00>fdd<00><00>jD<>}|jj|<00>r'tjd t|<00><16><00>n<00>j|<00>}tj|<00>rO<01>j s^tj|<00>rxtjd
t|<00><00>dSt |j
<00><00>|d|d|<00>}n|r<>|dkr<>tj|<00><00>ndS) z4initiate a column-based attribute refresh operation.zQInstance %s is not bound to a Session; attribute refresh operation cannot proceedFN<46>*rSrTcs g|]}<00>j|j<00>qSr )Z_columntopropertyrJ)rrM)r]r rr<00>s z*load_scalar_attributes.<locals>.<listcomp>z_Instance %s cannot be refreshed - it's not persistent and does not contain a full primary key.zwInstance %s to be refreshed doesn't contain a full primary key - can't be refreshed (and shouldn't be expired, either).)r9rHZDetachedInstanceErrorr
rZrJZinheritsZconcreteZ_optimized_get_statementr_r<00>optionsrZLoadZundeferZfrom_statementrPr<>r<><00>sa_excZInvalidRequestErrorr<72>r <00>issubsetr<74>r<>rZ warn_limitedrI) r]rKZattribute_namesr9Zhas_keyrZ statementZ identity_keyZpk_attrsr )r]r<00>load_scalar_attributesYsN  0   
   r<>) <20>__doc__<5F>
__future__r<00>rrrrHZsqlrWrr r
<00>baser r r<>r<><00>counterr"r2Z dependenciesrErLr_rkr<>rxr~rtr<>r<>r r r r<00><module>s4   ; * @+<0F>  !  *