mò /á¸Ec@s†dZddd!ZdklZdkZdkZdkZdk Z dk Z dk l Z dk l Z dklZd klZd klZd klZd klZd klZdklZdklZlZlZdklZdklZdklZdk lZdk l!Z!dk"Z"dk#Z#dk$l%Z%edƒZ&dei'ei(i)ei*i+e i,fd„ƒYZ-ee-ƒdS(s`Generic Database Connection Support $Id: Connection.py 41198 2006-01-08 10:50:28Z andreasjung $s$Revision: 1.39 $i iþÿÿÿ(s getLoggerN(sDateTime(s MessageDialog(sDTMLFile(sInitializeClass(sClassSecurityInfo(sview_management_screens(schange_database_connections(stest_database_connections(sopen_close_database_connection(sfindsjoinssplit(scustom_default_report(sStringIO(sResults(sexc_info(sescape(s BadRequestsZRDB.Connectiont ConnectioncBsŸtZeƒZhdd<dd not connected(RtinheritedAttributeR tsthasattrR(R R((RRMs  cCsKtidƒ|ƒ}t|dƒo|iod|}n d|}|S(Nt title_or_idRs%s (connected)s*%s ( not connected)(RRR RRR(R R((RR Us  cCs|iS(N(R R(R ((Rt connected]sicCs.||_||_|o|i|ƒndS(N(RR RRR(R RRR((RR _s  sdtml/connectionEditt manage_editcCsN|i|||ƒ|dj o*tddddt|i ƒddƒSndS(sChange connection RtEditedtmessages$%s has been edited.Rs ./manage_mainN( R R RRRtREQUESTtNonet MessageDialogtescapeR (R RRRR%((RR"gs   sdtml/connectionTestFormt manage_testc Csò|ƒ}|i|ƒ}t|ƒtdƒjo6tƒ}|i|ƒ|idƒt i |ƒ}n t |ƒ}|djo|Sn|iƒot|i|ƒ}nd}tid||fƒ}t|||fh|i|<ƒ}|S(s9Executes the SQL in parameter 'query' and returns resultsR is#This statement returned no results.s§
%s

SQL Used:
%s

N(R tdbctquerytresttypetStringIOtftwritetseektRDBtFiletresulttResultsR%R&t_searchable_result_columnstcustom_default_reportR trtDocumentTemplatetHTMLtreporttapply( R R+R%R/R,R8R4R;R*((RR)vs"       $sdtml/connectionStatustmanage_close_connectioncCssy%t|dƒo|iiƒnWntiddtƒƒnXd|_|dj o|i ||ƒSndS(t t_v_database_connections-Error closing relational database connection.RR N( RR R?tcloseRRRRR%R&R(R R%((RR=œs   tmanage_open_connectioncCs |i|iƒ|i||ƒS(R>N(R RRRR%(R R%((RRAªscCsVy |iSWnDtj o8|i}|o|i|ƒ|iSntd‚nXdS(Ns(The database connection is not connected(R R?tAttributeErrorRRRt BadRequest(R tvR((Rt__call__¯s    cCs|iƒ|iƒ}zOy||ƒ|_Wn5tiƒ\}}}t d|||f|‚nXWdd}Xt ƒ|_|S(NsOInvalid connection string: %s
(R R=tfactorytDBRR?tsysRttRDttbRCR&tDateTimeR(R RRGRIRDRJ((RR¹s  ! cCs:t|dƒdjott|dƒdƒ}nd|S(Ns'is''s'%s'(tfindRDtjointsplit(R RD((Rt sql_quote__Ês(%t__name__t __module__tClassSecurityInfotsecurityt AccessControltRolet RoleManagertmanage_optionstOFSt SimpleItemtItemRRR&RRRR R!R tDTMLFiletglobalsRtdeclareProtectedtchange_database_connectionsR"ttest_database_connectionsRR)tview_management_screensRtopen_close_database_connectionR=RARERRO(((RR*s8 _         !    (.t__doc__t __version__tloggingt getLoggerRtOFS.SimpleItemRXtAccessControl.RoleRTt AcquisitionRHRKt App.DialogsR'R[tInitializeClassRRtAccessControl.PermissionsR`R^R_RatstringRLRMRNtAqueductR7t cStringIOR.R5RtcgiR(R9R2t zExceptionsRCRRRURVRYRZtImplicitR(RRaR^RKR(RLRCR7RNRcRbR`RRR[RjRHRXRR2R'RhRTRMR.R5ReRR9RR_((Rt? s.  -                1¤