PK���ȼRY��������€��� �v3.phpUT �øŽg‰gñ“gux �õ��õ��½T]kÛ0}߯pEhìâÙM7X‰çv%”v0֐µ{)Aå:6S$!ÉMJèߕ?R÷!>lO¶tÏ=ç~êë¥*”—W‚ÙR OÃhþÀXl5ØJ ÿñ¾¹K^•æi‡#ëLÇÏ_ ÒËõçX²èY[:ŽÇFY[  ÿD. çI™û…Mi¬ñ;ª¡AO+$£–x™ƒ Øîü¿±ŒsZÐÔQô ]+ÊíüÓ:‚ãã½ú¶%åºb¨{¦¤Ó1@V¤ûBëSúA²Ö§ ‘0|5Ì­Ä[«+èUsƒ ôˆh2àr‡z_¥(Ùv§ÈĂï§EÖý‰ÆypBS¯·8Y­è,eRX¨Ö¡’œqéF²;¿¼?Ø?Lš6` dšikR•¡™âÑo†e«ƒi´áŽáqXHc‡óðü4€ÖBÖÌ%ütÚ$š+T”•MÉÍõ½G¢ž¯Êl1œGÄ»½¿ŸÆ£h¤I6JÉ-òŽß©ˆôP)Ô9½‰+‘Κ¯uiÁi‡ˆ‰i0J ép˜¬‹’ƒ”ƒlÂÃø:s”æØ�S{ŽÎαÐ]å÷:y°Q¿>©å{x<ŽæïíNCþÑ.Mf?¨«2ý}=ûõýî'=£§ÿu•Ü(—¾IIa­"éþ@¶�¿ä9?^-qìÇÞôvŠeÈc ðlacã®xèÄ'®âd¶ çˆSEæódP/ÍÆv{Ô)Ó ?>…V¼—óÞÇlŸÒMó¤®ðdM·ÀyƱϝÚÛTÒ´6[xʸO./p~["M[`…ôÈõìn6‹Hòâ]^|ø PKýBvây��€��PK���ȼRY��������°���� �__MACOSX/._v3.phpUT �øŽg‰gþ“gux �õ��õ��c`cg`b`ðMLVðVˆP€'qƒøˆŽ!!AP&HÇ %PDF-1.7 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R /F2 9 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Producer (���d�o�m�p�d�f� �2�.�0�.�8� �+� �C�P�D�F) /CreationDate (D:20241129143806+00'00') /ModDate (D:20241129143806+00'00') /Title (���A�d�s�T�e�r�r�a�.�c�o�m� �i�n�v�o�i�c�e) >> endobj 6 0 obj << /Type /Page /MediaBox [0.000 0.000 595.280 841.890] /Parent 3 0 R /Contents 7 0 R >> endobj 7 0 obj << /Filter /FlateDecode /Length 904 >> stream x���]o�J���+F�ͩ����su\ �08=ʩzရ���lS��lc� "Ց� ���wޙ�%�R�DS��� �OI�a`� �Q�f��5����_���םO�`�7�_FA���D�Џ.j�a=�j����>��n���R+�P��l�rH�{0��w��0��=W�2D ����G���I�>�_B3ed�H�yJ�G>/��ywy�fk��%�$�2.��d_�h����&)b0��"[\B��*_.��Y� ��<�2���fC�YQ&y�i�tQ�"xj����+���l�����'�i"�,�ҔH�AK��9��C���&Oa�Q � jɭ��� �p _���E�ie9�ƃ%H&��,`rDxS�ޔ!�(�X!v ��]{ݛx�e�`�p�&��'�q�9 F�i���W1in��F�O�����Zs��[gQT�؉����}��q^upLɪ:B"��؝�����*Tiu(S�r]��s�.��s9n�N!K!L�M�?�*[��N�8��c��ۯ�b�� ��� �YZ���SR3�n�����lPN��P�;��^�]�!'�z-���ӊ���/��껣��4�l(M�E�QL��X ��~���G��M|�����*��~�;/=N4�-|y�`�i�\�e�T�<���L��G}�"В�J^���q��"X�?(V�ߣXۆ{��H[����P�� �c���kc�Z�9v�����? �a��R�h|��^�k�D4W���?Iӊ�]<��4�)$wdat���~�����������|�L��x�p|N�*��E� �/4�Qpi�x.>��d����,M�y|4^�Ż��8S/޾���uQe���D�y� ��ͧH�����j�wX � �&z� endstream endobj 8 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /Name /F2 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj xref 0 10 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000284 00000 n 0000000313 00000 n 0000000514 00000 n 0000000617 00000 n 0000001593 00000 n 0000001700 00000 n trailer << /Size 10 /Root 1 0 R /Info 5 0 R /ID[] >> startxref 1812 %%EOF
Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 128

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 129

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 130

Warning: Cannot modify header information - headers already sent by (output started at /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php:1) in /home/u866776246/domains/wisatalogung.com/public_html/uploads/produk/1775157541_x.php on line 131
 ec@sdZddlmZddlmZddlmZddlmZddlm Z ddlm Z ddl m Z dd l m Z dd l mZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z de e fdYZ!de!fdYZ"de#fdYZ$e$e%d Z&e&j'd!Z&e$d"Z(e(j'd#Z(e$e%d$Z)e)j'd%Z)e$d&Z*e*j'd'Z*e$d(Z+e+j'd)Z+e$d*Z,e,j'd+Z,e$d,Z-e-j'd-Z-e$d.Z.e.j'd/Z.e$e/d0Z0e0j'd1Z0e$d2Z1e1j'd3Z1e$e/d4Z2e2j'd5Z2e$d6Z3e3j'd7Z3e$d8Z4e4j'd9Z4e$d:Z5e5j'd;Z5e$d<Z6e6j'd=Z6d>S(?s i(tutil(tQueryableAttribute(t_class_to_mapper(t_is_aliased_class(t_is_mapped_class(tInspectionAttr(t LoaderOption(tMapperProperty(tPropComparator(t_DEFAULT_TOKEN(t_WILDCARD_TOKEN(t PathRegistry(t TokenRegistry(t_orm_full_deannotatei(texc(tinspect(tand_(t coercions(troles(t traversals(tvisitors(t _generative(t GenerativetLoadcBseZdZeZdejjfdejjfdejj fdej j fdejj fdejj fgZdZedZd Zd Zd Zd Zed ZdZeZeZd!ZeZd!Zd"Z dZ!dZ"dZ#ed!dZ$dZ%dZ&dZ'e(dZ)e(edZ*e(d!edZ+e(dZ,e(dZ-ed!dZ.eedZ/dZ0dZ1dZ2d Z3RS(#sRepresents loader options which modify the state of a :class:`_query.Query` in order to affect how various mapped attributes are loaded. The :class:`_orm.Load` object is in most cases used implicitly behind the scenes when one makes use of a query option like :func:`_orm.joinedload`, :func:`.defer`, or similar. However, the :class:`_orm.Load` object can also be used directly, and in some cases can be useful. To use :class:`_orm.Load` directly, instantiate it with the target mapped class as the argument. This style of usage is useful when dealing with a :class:`_query.Query` that has multiple entities:: myopt = Load(MyClass).joinedload("widgets") The above ``myopt`` can now be used with :meth:`_query.Query.options`, where it will only take effect for the ``MyClass`` entity:: session.query(MyClass, MyOtherClass).options(myopt) One case where :class:`_orm.Load` is useful as public API is when specifying "wildcard" options that only take effect for a certain class:: session.query(Order).options(Load(Order).lazyload('*')) Above, all relationships on ``Order`` will be lazy-loaded, but other attributes on those descendant objects will load using their normal loader strategy. .. seealso:: :ref:`deferred_options` :ref:`deferred_loading_w_multiple` :ref:`relationship_loader_options` tpathtstrategyt_of_typet_extra_criteriat_context_cache_keyt local_optscCsDt|}|j|j|_tj|_i|_t|_ dS(N( Rt _post_inspectt_path_registryRRt OrderedDicttcontextRtFalsetis_class_strategy(tselftentitytinsp((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt__init__bs    cCs@|j|}||_i|_i|_d|_d|_|S(N((t__new__RR!RtNoneRR(tclsRtload((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pytfor_existing_pathms     cCs |j|S(N(t_adjust_for_extra_criteria(R$R!t uncached_opt((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt'_adapt_cached_option_to_uncached_optionwscCs[|jstd|jj}|j}|j}|j}|j|t|jS(sApply the current bound parameters in a QueryContext to the immediate "extra_criteria" stored with this Load object. Load objects are typically pulled from the cached version of the statement from a QueryContext. The statement currently being executed will have new values (and keys) for bound parameters in the extra criteria which need to be applied by loader strategies when they handle this criteria for a result set. s8this should only be called if _extra_criteria is present(RtAssertionErrort compile_statetselect_statementtqueryt_generate_cache_keyt_apply_params_to_elementR(R$R!t orig_queryt current_querytk1tk2((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt_generate_extra_criteriazs      csCjji}ddgfd}|j||S(sApply the current bound parameters in a QueryContext to all occurrences "extra_criteria" stored within al this Load object; copying in place. csq|js dSddkr<jjjf(n\tfd|jD|_dS(Nic3s!|]}j|VqdS(N(R5(t.0tcrit(R8R9(sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pys s(RR)R4R3ttuple(topt(tckR!R6(R8R9sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pytprocesss   N(R1R2R)t _deep_clone(R$R!tappliedR@((R?R!R6sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyR-s   cCs||kr||S|j}|||<|j|_|j|jksNt|j|jksft|j|jks~t|jrtjg|jj D]9\}}|t |t r|j ||n|f^q|_n|j j|j |||S(N(t _generateRtpropagate_to_loadersR0R#t is_opts_onlyR!RR titemst isinstanceRRARtupdate(R$RBR@tclonedtkeytvalue((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRAs     U cCsig}|jdkrgSxI|jjD]8\\}}}|dkrMq)n|j||fq)W|S(Ntloader(R!R)RFtappend(R$t serializedRJt loader_pathtobj((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRs" cCs"tt|j}i|_|S(N(tsuperRRCR(R$RI((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRCs cCs1|jjsdS|j||t|j dS(N(tcompile_optionst_enable_eagerloadst_processtboolt current_path(R$R1tmapper_entities((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt'process_compile_state_replaced_entitiess  cCsA|jjsdS|j||jt|j o9|jj dS(N(RRRSRTt_lead_mapper_entitiesRURVt_for_refresh_state(R$R1((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pytprocess_compile_states c Cs|jj}|j}|rx|jjD]\\\}}}|rS|j rSq+n|j||} | dk r+||j|| fR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pytoptionss !    cCsq|j|}||_|j||d}|j|_|j|_|j|_t|_|_|j|_dS(Nt relationship(RRDt_clone_for_bind_strategyRRRR"R#(R$RRRDRI((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pytset_relationship_strategys    c CsW|j|}t|_x8|D]0}|j||dd|d|}t|_qWdS(Ntcolumnt opts_onlyR(RR"R#RRRD(R$tattrsRRRRRI((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pytset_column_strategy%s   cCsB|j|}x,|D]$}|j||d}t|_qWdS(N(RRR)RRD(R$RRRRI((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pytset_generic_strategy/s cCsJ|j|}|jd|d}t|_t|_|jj|dS(N(RRR)RR#RDRRH(R$RRRI((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pytset_class_strategy6s   cCs|j}|j|j|||||_|j|_|rS|jj|n|ret|_n|st|jr|jn|S(sCreate an anonymous clone of the Load/_UnboundLoad that is suitable to be placed in the context / _to_bind collection of this Load object. The clone will then lose references to context/_to_bind in order to not create reference cycles. ( RCRRRRRHRREt_set_path_strategy(R$RRRRRRI((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyR>s     cCs|s | rl|j|d}|rV|ri|jj|j|j|j7_qiq|j|d|n\|j|d}|j|d||r|jr|jj|j|j|j7_ndS(NRL(RRRHRRRE(R$R!Rtreplacet merge_optsR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt _set_for_pathUs cCs|j r%|jjr%|jj}n |j}|jrsx[|jD](}|j|j|dtd|j qDWn"|j|j|dtd|j d|_dS(NRR( R#RRiRptis_tokentgenerate_for_superclassesRR!RRER)(R$teffective_pathR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRes    cCs]|jj}d|d<|ddk rFtj|dd|dsRc3s!|]}|jVqdS(N(R(R;R(RR(sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pys sRN((((tidt __class__Rt_cache_key_traversal_visitorR)Rtvisit_multi_listRRRR=RRtvisit_string_multi_dict(R$RRRtidselfR*tid_tvis((RRRsR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRs       !'cCs|jj|d|_dS(N(RRMR)(R$((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRscCs||kr||S|j}|||<|j|_|j|jksNt|j|jksft|j|jks~tg|jpdD]}|j||^q|_|jj |j|||S(N(( RCRRDR0R#RERRARRH(R$RBR@RIR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRAs    1 c Cs||kr||S|dkr,|j}n|j}|||<|j|_|jr|jd}t|tjr|jt r|j dddt }n|j |j|jdd!||jdn|j |j kst|j|jkst|j|jkstt}|j|_g|jD](}||kr7|j| r7|^q7g|D]:}||kri|j| ri|j||||^qi|j(|jj|j|S(NiRi(R)RRCRRRGRRmRnR tsplitR RRDR0R#RERRRRRH( R$RpRBRtto_bindRIRtuniqR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyR5s6         '   % ?cCs|rUt|tjrU|ttfkrU|tkrBt|_nd||f}n|rt|dr|j r|dd!}n|r||f}n||_ t |dd|_ |S(Ns%s:%siiR(( RGRRmR R R"RDRR#RRrR(R$RRRR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRcs    cCs9|jj}d|d<|j|jdt|d<|S(NRtfilter_aliased_classR((RRt_serialize_pathRR(R$R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRus cCsg}x|dD]}t|trt|dkrM|\}}d}n|\}}}t||}|r|j|}n|j|q|j|qWt||d<||_dS(NRi(RGR=R}R)Rrtof_typeRMR(R$RtretRJR*tpropkeyRRl((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyR~s  cCs|jd}|jj}xu|jD]j}||kr#|j||rX|j rXq#n|jg|D]}|j^qe|j|j|q#q#WdS(Nt_unbound_load_dedupes( R]RRRZRRRDt _bind_loadert entity_zeroRV(R$R1RWR^tdedupesR_tvalR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRTs    c Cst}d}g|D]}||D] }|^q)q} xH| dd!D]9}t|_|rv||||}qL|j|}qLW||| d|}t|_|S(NcSspt|tjre|tkr%tfS|jdtrXtjddd|d}n|jdS|fSdS(Nt.sThe undocumented `.{WILDCARD}` format is deprecated and will be removed in a future version as it is believed to be unused. If you have been using this functionality, please comment on Issue #4390 on the SQLAlchemy project tracker.tversions1.4i(RGRRmR R t startswithtwarn_deprecatedR(RJ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt _split_keys   ii(RRt_is_chain_linkt defaultloadR"( R*tmethtkeystchainedtkwR>RRJR`t all_tokens((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt _from_keyss  ,  cCsd}xtt||jD]\}\}\}}t|tjr|dkro|jdtro|S|dtfkr||j krdSq"t|t r"|j |k s|j |k r|j j s|j j| rdSq"q"W|d7}||S(NiiRsrelationship:%si(RRtpairsRGRRmRnR R RJR)RRvt _parententityRxR(R$RRRRtp_entitytp_prop((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyR\s".   cCsg}x|D]}t|tr|re|jret|jjre|j|jj|jdfq|j|jj|j|jr|jj ndfq t|t r|j|jj|jdfq |j|q W|S(N( RGRRRRoRMt _parentmapperRsRJR)R%R(R$RRRR`((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRs  " ""c Cs|j}|jr,|r,||df7}n|rG|j||}n|sQdS|d}t|tjr|j|||}n~t|tr|j }|j |||j |}nH|jrt |rt |}||krd}qntjd|s dS|} t| } |dkr7| j}n|j| _|j| _|j| _|j| _| j} | jsxdt|D]S\} }| j| j|| t|dkr|jndd|d|sdSqWn| jj|j| j r| jjr| jj} n | j} | jrgx]| jD])} | j|| d|j d|jq7Wn#| j|| d|j d|j| S(s]Convert from an _UnboundLoad() object into a Load() object. The _UnboundLoad() uses an informal "path" and does not necessarily refer to a lead entity as it may use string tokens. The Load() OTOH refers to a complete path. This method reconciles from a given Query into a Load. Example:: query = session.query(User).options( joinedload("orders").joinedload("items")) The above options will be an _UnboundLoad object along the lines of (note this is not the exact API of _UnboundLoad):: _UnboundLoad( _to_bind=[ _UnboundLoad(["orders"], {"lazy": "joined"}), _UnboundLoad(["orders", "items"], {"lazy": "joined"}), ] ) After this method, we get something more like this (again this is not exact API):: Load( User, (User, User.orders.property)) Load( User, (User, User.orders.property, Order, Order.items.property)) is6mapper option expects string key or list of attributesNiRRR( RR#R\R)RGRRmt_find_entity_basestringRRvt_find_entity_prop_comparatorRRRRjRkRR!RRERRRR}RRHRiRpRRRR(R$tentitiesRVR!R^RaR`R%Rlt path_elementRLRtidxR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRst$                "       cCst|r|}n t|}x|D]}tj||r(|Sq(W|rt|stjdtjt ||fqtjd|dj d|DfndSdS(NsGQuery has only expression-based entities, which do not apply to %s "%s"sMapped attribute "%s" does not apply to any of the root entities in this query, e.g. %s. Please specify the full path from one of the root entities to the target attribute. s, css|]}t|VqdS(N(tstr(R;tx((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pys s( RRRyt_entity_corresponds_totlistRjRkRtclsname_as_plain_nameRwtjoinR)(R$RRlRR^t searchforR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRs     "&cCs|jdtrytt|dkr|rvtjddjd|Ddjd|Dfqvqn|jtrt}nx2|D]}|SW|rtjd|fndSdS(NRisCan't apply wildcard ('*') or load_only() loader option to multiple entities %s. Specify loader options for each entity individually, such as %s.s, css|]}t|VqdS(N(R(R;R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pys scss|]}d|VqdS(sLoad(%s).some_option('*')N((R;R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pys ssJQuery has only expression-based entities - can't find property named "%s".( RnR R}RRjRkR R R"R)(R$RR`R^R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRs$  N(R~RRR'R)RR"RRRARRRRRTRRR\RRRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRs"   S   .   (   t loader_optioncBs,eZdZdZdZdZRS(cCsdS(N((R$((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyR'scCsO|j|_}||_tt|r;td|ntt|||S(Ns#Load class already has a %s method.(R~tnametfnthasattrRt TypeErrortsetattr(R$RR ((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt__call__s  cCs<||_|jj}di|jd6|j_||_|S(NsProduce a new :class:`_orm.Load` object with the :func:`_orm.%(name)s` option applied. See :func:`_orm.%(name)s` for usage examples. R (t _unbound_fnRRR (R$Rtfn_doc((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt_add_unbound_fns    cCsPdi|jd6|_tjddi|jd6dt|}||_|S(Ns}Produce a standalone "all" option for :func:`_orm.%(name)s`. .. deprecated:: 0.9 The :func:`_orm.%(name)s_all` function is deprecated, and will be removed in a future release. Please use method chaining with :func:`_orm.%(name)s` instead, as in:: session.query(MyClass).options( %(name)s("someattribute").%(name)s("anotherattribute") ) R s0.9sThe :func:`.%(name)s_all` function is deprecated, and will be removed in a future release. Please use method chaining with :func:`.%(name)s` insteadtadd_deprecation_to_docstring(R RRt deprecatedR"t_unbound_all_fn(R$R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt_add_unbound_all_fns  (R~RR'RRR(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyR s  cCs|d k rIt|ts3t|}|j}qvtjdddn-t|dd rvt|j}|j}n|j |idd6dt }||j d<|S( sIndicate that the given attribute should be eagerly loaded from columns stated manually in the query. This function is part of the :class:`_orm.Load` interface and supports both method-chained and standalone operation. The option is used in conjunction with an explicit join that loads the desired rows, i.e.:: sess.query(Order).\ join(Order.user).\ options(contains_eager(Order.user)) The above query would join from the ``Order`` entity to its related ``User`` entity, and the returned ``Order`` objects would have the ``Order.user`` attribute pre-populated. It may also be used for customizing the entries in an eagerly loaded collection; queries will normally want to use the :meth:`_query.Query.populate_existing` method assuming the primary collection of parent objects may already have been loaded:: sess.query(User).\ join(User.addresses).\ filter(Address.email_address.like('%@aol.com')).\ options(contains_eager(User.addresses)).\ populate_existing() See the section :ref:`contains_eager` for complete usage details. .. seealso:: :ref:`loading_toplevel` :ref:`contains_eager` sPassing a string name for the 'alias' argument to 'contains_eager()` is deprecated, and will not work in a future release. Please use a sqlalchemy.alias() or sqlalchemy.orm.aliased() construct.Rs1.4RtjoinedtlazyRDteager_from_aliasN( R)RGRRt selectableRRRrRRR"R(tloadoptRtaliastinfototRI((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pytcontains_eagers'      cOstjtj|t|S(N(RRR"R(RR((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyR"9s cGsL|j|itd6td6}|jditd6td6itd6|S(slIndicate that for a particular entity, only the given list of column-based attribute names should be loaded; all others will be deferred. This function is part of the :class:`_orm.Load` interface and supports both method-chained and standalone operation. Example - given a class ``User``, load only the ``name`` and ``fullname`` attributes:: session.query(User).options(load_only(User.name, User.fullname)) Example - given a relationship ``User.addresses -> Address``, specify subquery loading for the ``User.addresses`` collection, but on each ``Address`` object load only the ``email_address`` attribute:: session.query(User).options( subqueryload(User.addresses).load_only(Address.email_address) ) For a :class:`_query.Query` that has multiple entities, the lead entity can be specifically referred to using the :class:`_orm.Load` constructor:: session.query(User, Address).join(User.addresses).options( Load(User).load_only(User.name, User.fullname), Load(Address).load_only(Address.email_address) ) .. note:: This method will still load a :class:`_schema.Column` even if the column property is defined with ``deferred=True`` for the :func:`.column_property` function. .. versionadded:: 0.9.0 tdeferredt instrumentt*t undefer_pks(RR"R(RRRI((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt load_only@s &"cGstj|S(N(RR'(R((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyR'oscCs9|j|idd6}|dk r5||jdsRJR(RRR=RR(Rtclasses((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pytselectin_polymorphics  $cCs5t}t|_t|f|_|j||S(N(RRR#RRRB(tbase_clsRAtul((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyRBs    N(7RRdRRyR]RtbaseRRRRt interfacesRRRt path_registryR R R R R RRjRtsqlRRRRRtsql.baseRRRRtobjectR R)R"RR'R)R+R-R/R1R2R"R6RR7R9R:R?RB(((sR/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/orm/strategy_options.pyt s;?/]!"+%J1$1