ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ 4]c@srddlZddlZddlmZddlmZddlmZddlmZddl m Z ddl m Z dd l m Z d d lmZd d lm Z d d lmZd dlmZdefdYZdefdYZdefdYZdefdYZdeefdYZdeeejfdYZdefdYZdS(iNi(t assertions(tconfig(tschema(tdrop_all_tables(t BasicEntity(tComparableEntity(tadicti(tevent(tutil(tdeclarative_base(tDeclarativeMetatTestBasecBsDeZdZdZdZdZdZddZdZ dZ RS(cCs|st|dS(N(tAssertionError(tselftvaltmsg((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pytassert_/scCs t|dr|jndS(NtsetUp(thasattrR(R ((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pytsetup3scCs t|dr|jndS(NttearDown(RR(R ((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pytteardown7s(((N( t__name__t __module__t __whitelist__t __requires__t__unsupported_on__tNonet __only_on__t __skip_if__RRR(((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyR s  t TablesTestcBs7eZdZdZdZdZdZdZdZ dZ dZ dZ e dZe dZe dZe dZdZdZdZd Zd Ze d Ze d Ze d Ze dZe dZe dZe dZdZdZe dZ RS(tonceteachcCs"|j|j|jdS(N(t _init_classt_setup_once_tablest_setup_once_inserts(tcls((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyt setup_classUs  cCs|jdkrB|jdkr*d|_n|jdksBtnt|_t|_|j|_ t j |_ |j |j _ dS(NR R(R N( trun_define_tablestrun_create_tablest run_insertsRR Rtotherttablest setup_bindtbindtsatMetaDatatmetadata(R$((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyR!]s   cCs*|jdkr&|j|jndS(NR(R(t_load_fixturest insert_data(R$((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyR#ks cCsa|jdkr]|j|j|jdkrD|jj|jn|jj|jjndS(NR(R&t define_tablesR/R't create_allR,R*tupdate(R$((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyR"qs cCs|jdkr|jj|jdkrAt|j|jn|jj|j|j|jdkr|jj|jn|jj |jjn8|jdkrt|j|j|jj|jndS(NR ( R&R*tclearR'RR/R,R2R3R4(R ((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyt_setup_each_tablesys  cCs*|jdkr&|j|jndS(NR (R(R0R1(R ((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyt_setup_each_insertss c Cs|jdkr|jdkr|jjw}xmt|jjD]Y}y|j|jWqCt j j k r}t j d||fdtjqCXqCWWdQXndS(NR sError emptying table %s: %rtfile(R&t run_deletesR,tconnecttreversedR/t sorted_tablestexecutetdeleteR-texct DBAPIErrorRtprint_tsyststderr(R tconnttabletex((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyt_teardown_each_tablesscCs|j|jdS(N(R6R7(R ((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyRs cCs|jdS(N(RG(R ((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyRscCsl|jrt|j|jn|jdkrA|j|jnd|j_|jdk rhd|_ndS(NR(R'RR/R,trun_dispose_bindt dispose_bindRtrun_setup_bind(R$((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyt_teardown_once_metadata_binds  cCs|jdS(N(RK(R$((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pytteardown_classscCstjS(N(Rtdb(R$((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyR+scCs<t|dr|jnt|dr8|jndS(Ntdisposetclose(RRNRO(R$R,((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyRIs cCsdS(N((R$R/((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyR2scCsiS(N((R$((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pytfixturesscCsdS(N((R$((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyR1scCs|j|j||dS(N(tassert_sql_countR,(R tcounttfn((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyt sql_count_scCs|j|j||dS(N(t assert_sqlR,(R t callable_t statements((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pytsql_eq_sc Csii}}xv|jjD]b\}}t|dkrDq nt|tjrf|j|}n|d||<|d||s "  cCs#|jdkrtjjndS(NR(RR-RtRw(R ((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyRYscCs#|jdkr|jjndS(NR(RRzR5(R ((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyR`scCsdS(N((R$((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyRdscCsdS(N((R$((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyRhsN(RRRRRRzRdR%RLRRR}R{R|RR~RRRRR(((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyRys"       tDeclarativeMappedTestcBs2eZdZdZedZedZRS(RcCsdS(N((R$((sN/opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/testing/fixtures.pyR"qscs|jdtffdY}dtfdY}td|jd|d|}||_||jjr|jr|jjt j ndS(NtFindFixtureDeclarativecseZfdZRS(cs ||s&   l