File:  [Repository] / ZSQLExtend / Attic / ZSQLExtend.pyc
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Thu Feb 5 20:31:42 2004 UTC (20 years, 4 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
minor

;ò
©"@c@sÂdklZdklZdklZdklZdkZdkZdk	Z	dk
lZdkl
Z
dkZd„Zdeeefd	„ƒYZed
eƒƒZddded
„ZdS((sFolder(s
Persistent(sImplicit(sDTMLFileN(slibpq(sgetSecurityManagercCs|SdS(N(sname(sname((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysquoteStringssZSQLExtendFoldercBstZdZdZed„Zd„Zd„Zd„Zdd„Z	ed„Z
d	„Zd
„Zd„Z
d„Zdd
ed„Zd„Zdded„Zed„Zed„Zed„Zdeeed„Zd„Zd„Zdd„Zdd„Zd„Zd„ZRS(sFoldersZSQLExtendFoldercCs…|iddjo|id}n|id}|od||idSn1|i|idƒ}||d<ti|dƒSdS(	spathsHTTP_X_FORWARDED_SERVERss	HTTP_HOSTshttp://sPATH_TRANSLATEDs/iN(sselfsREQUESTshostsurlssplitstempsstringsjoin(sselfsurlshoststemp((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
actualPaths

cCs|iSdS(srequestN(sselfsREQUEST(sself((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
getRequest#scCstii|ƒddSdS(soinly for demois.jpgN(sosspathssplitext(sselfspath((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pyslowerEnd'scCs-|odSn|djodSndSdS(sTeste ob Treffer leerisiN(sfield(sselfsfield((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLisEmpty+s
scCsd|}|SdS(s(return HTML Fragment with search optionssX<select name="-op_%s">
	<option value="bw">begins with</option>          	<!-- begins with / beginnt mit, "Wort*" -->
	<option value="ew">ends with</option>
   	<option value="ct" selected>contains</option>          		<!-- contains / enthaellt, "Wort" -->
    <option value="eq">equals</option>          		<!-- equals / ist, =Wort -->
</select>N(s	fieldnamesret(sselfs	fieldnamesret((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLsearchOptions4s
cKs|g}|ond}x<|iƒD].}|i|dtit||ƒƒƒq$W|i
ti|dƒdd|ƒSdS(sinlinesearchs
foundCounts=s,s_s	storenameN(
sqss	storenamesargvskeyssasappendsurllibsquotesstrsselfsparseQueryStringsstringsjoin(sselfs	storenamesargvsasqs((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLInlineSearch?s
,cCsg}|id|ƒSdS(sinlinesearchsvarN(sqssselfssearchsquery(sselfsquerysqs((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLInlineSearch2OscCsÂ|id}h}
xü|idƒD]ë}tidd|idƒdiƒƒ}|idƒd}tidd|ƒ}ti|ƒ}|d	joti|ƒ}
q#|d
joti|ƒ}q#|ddjot|ƒdjo ti|ƒ|
ti|ƒ<q#q#Wg}g}	xC|
iƒD]5}|id|dƒ|	iti|
|ƒƒq+Wti|d
ƒ}ti|	d
ƒ}d|
||f}|id|ƒ|iii|ƒSdS(s
Neuer EintragsQUERY_STRINGs&sr'+'s s=iis\+s-tables-formats-s"s,sINSERT INTO %s (%s) VALUES (%s)svarN(sselfsREQUESTsqssaddListssplitsqsressubslowersnamesvaluesurllibsunquotestablesformatslenskeyLists	valueListskeyssxsappendslibpqs
PgQuoteStringsstringsjoins	keyStringsvalueStringsqueryStringssearchsRESPONSEsredirect(sselfsxsqssnamesformats	keyStringsqueryStringsvaluesqs	valueListstableskeyListsvalueStringsaddList((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLAddYs4
(

&$
cKsg}	xH|iiiƒD]4}|	i|dtit	|ii|ƒƒƒqWt
i|	dƒ}g}xe|idƒD]T}titidd|idƒdiƒƒƒ}
|idƒd}tidd|ƒ}ti|ƒ}|
djoti|ƒ}qy|
d	joDti|ƒ}
|
idƒddti|
idƒdƒ}
qy|
d
joti|ƒ}qy|
ddjot|ƒdjo/|id|
d
titi|ƒƒƒqyqyWt
i|dƒ}d|||
f}|id|ƒ|iii |ƒSdS(sÄndern von Einträgens=s&sr'+'s iis\+s-tables	-identifys-formats-s"s"=s,sUPDATE %s SET %s WHERE %ssvarN(!sqs_tempsselfsREQUESTsformskeyssasappendsurllibsquotesstrsstringsjoinsqss
changeListssplitsqsunquotesressubslowersnamesvaluestablesidentifyslibpqs
PgQuoteStringsformatslenschangeStringsqueryStringssearchsRESPONSEsredirect(sselfsargvsasvaluesqssformatschangeStringsqueryStringsqsqs_tempsidentifystables
changeListsname((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
ZSQLChangevs421

5
&3cCsÇ|id}g}xe|idƒD]T}titi	dd|idƒdi
ƒƒƒ}|idƒd}	ti	dd|	ƒ}	ti|	ƒ}	|d	joti|	ƒ}
q#|d
joDti|	ƒ}|idƒddti|idƒdƒ}q#|djoti|	ƒ}q#|ddjot|	ƒdjo/|id
|dtiti|	ƒƒƒq#q#Wti|dƒ}d|
||f}|id|ƒ|iii|ƒSdS(sÄndern von EinträgensQUERY_STRINGs&sr'+'s s=iis\+s-tables	-identifys-formats-s"s"=s,sUPDATE %s SET %s WHERE %ssvarN(sselfsREQUESTsqss
changeListssplitsqsurllibsunquotesressubslowersnamesvaluestablesidentifyslibpqs
PgQuoteStringsformatslensappendsstringsjoinschangeStringsqueryStringssearchsRESPONSEsredirect(sselfsqssnamesformats
changeListschangeStringsqueryStringsqsidentifysvaluestable((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLChange_old˜s,
1

5
&3soid,*c	CsÈ|djoN|ido,|id}ti|idƒdƒ}qv|iid}nti|idƒdƒ}tidd|ƒ}|ond}|i
|d	d
|ddd
|ƒ}|SdS(sFindssQUERY_STRINGs&s,squerys\+s s
foundCounts-sselectsstoremaxsyess	storenameN(
sqssselfsREQUESTsstringsjoinssplitsSESSIONsressubs	storenamesparseQueryStringsselectsret(sselfsqssselects	storenamesret((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLFind±s

$cCst|ƒSdS(N(slensvar(sselfsvar((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLFoundCountLenÎss*cCs'|ond}|ii|dSdS(Ns
foundCountscount(s	storenamesselfsREQUESTsSESSION(sselfsqssselects	storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLFoundCountÑscCs'|ond}|ii|dSdS(Ns
foundCounts
rangeStart(s	storenamesselfsREQUESTsSESSION(sselfs	storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLRangeStartèscCs'|ond}|ii|dSdS(Ns
foundCounts	rangeSize(s	storenamesselfsREQUESTsSESSION(sselfs	storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
ZSQLRangeSizeñscCs'|ond}|ii|dSdS(Ns
foundCountsrangeEnd(s	storenamesselfsREQUESTsSESSION(sselfs	storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLRangeEndússnocCsd}
d}g}d}d}h}d}d}|o
d}n|i
dƒ}xˆ|D]€}t
idd	|i
d
ƒdiƒƒ}ti|i
d
ƒdƒ}|dd!|d
jo|}|d}|||<qXqXWx9|i
dƒD](}t
idd	|i
d
ƒdiƒƒ}ti|i
d
ƒdƒ}||djo
|}
qì||djo
|}
qì||djo
|}qì||djo dt|ƒ}t|ƒ}qì||djo dt|ƒ}t|ƒ}qì||djo|i|ƒqì||djod|}qì||djo&|djo||iid<qqì||d
jo
|}qì|d|jot|ƒdjor|iƒ}|i|ƒo||}nd}d|d}|djo*|i|dt i!d|dƒƒnô|d jo"|i|d!t i!|ƒƒnÅ|d"jo"|i|d#t i!|ƒƒn–|d$jo"|i|d
t i!|ƒƒng|djo&|i|dt i!|dƒƒn4|d%jo&|i|dt i!d|ƒƒnd}qìqìWt|ƒdjo"d&t"i#|d	|
d	ƒ}nd}d'||
||||f}	|djo||iid(<n|ord)|
|f}|iii|ƒoh|ii|<n|ii|id*ƒo_|ii|d*|jo?||ii|d*<|i(d+|ƒdi)|ii|d,<q‡n<||ii|d*<|i(d+|ƒdi)|ii|d,<||ii|d-<|d.jo&|ii|d,|ii|d/<n%t*|ƒt*|ƒ|ii|d/<||ii|d0<n|i(d+|	ƒSd1S(2sanalysieren den QueryStringsANDsALLssbwisoid,*s,sr'+'s s=iisopislopstablesselectsmaxsLIMIT sskipsOFFSET sjoinssorts	ORDER BY stokensyessctsLOWER(s)s LIKE s%sgts>slts<seqsewsWHERE sSELECT %s FROM %s %s %s %s %ssqssSELECT count(*) FROM %s %ssqueryString2svarscounts
rangeStartsallsrangeEnds	rangeSizeN(+slopsmaxs	whereListssortsopsopfieldssskips
rangeStartsselectsqsssplitssplittedsqsressubslowersnamesurllibsunquotesvaluesiCTsfieldstablesstrslimitsappendsnostoresselfsREQUESTsSESSIONslenshas_keyslibpqs
PgQuoteStringsstringsjoinswheresquerys	storenamesquery2ssearchscountsint(sselfsqssiCTsstoremaxsselectsnostores	storenamesskipsopfieldssquerystables
rangeStartsfieldslopssorts	whereListsmaxsquery2snamesvaluesqslimitssplittedswheresop((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysparseQueryStrings¬
(
(



&
*
"
"
"
&
&"/'
&$cCs»|id}|idƒ}xP|D]H}|idƒ}y)|diƒdjo|d}nWq#q#Xq#Wt	i
|ididƒdƒ|iid<|iii
ti|ƒƒSd	S(
s
To be donesQUERY_STRINGs&s=is-formatis,squeryN(sselfsREQUESTsrqssplitsqueryss	querytempsqueryslowers
formatfilesstringsjoinsSESSIONsRESPONSEsredirectsurllibsunquote(sselfsqueryssrqs
formatfilesquerys	querytemp((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
ZSQLSearch‰s
,cCs yt|ƒSWndSnXdS(Ni(sintsstring(sselfsstring((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLint›ss
foundCountcCs¹y<|ii|d}t|ii|dƒt|ƒ}
Wnd}d}
nX|
|ii|djo|ii|dd}
n|iddjo&|iid}ti	|d	ƒ}n |id}ti	|d
ƒ}g}d}	xn|D]f}|ddjod|d<n|i	d
ƒdiƒdjod}	d|
}n|i|ƒqõW|	djod|
}|i|ƒnti|d
ƒ}d|iƒd||fSdS(snextLinks	rangeSizes
rangeStartiscounti
sQUERY_STRINGssquerys,s&s_s-s=s-skipis-skip=%is<a href='%s'>%s</a>s?N(sselfsREQUESTsSESSIONs	storenameslimitsints
newRangeStartsqssstringssplitsqueriessnewquerys	skipFoundsqueryslowersappendsjoinsnewquerystrings
actualPathshtml(sselfshtmls	storenamesqssnewquerystringslimitsnewquerysqueriessquerys	skipFounds
newRangeStart((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysnextLink¢s:(

 

cCs™y<|ii|d}t|ii|dƒt|ƒ}
Wnd}d}
nX|
djo
d}
n|iddjo&|iid}ti	|dƒ}n |id}ti	|dƒ}g}d}	xn|D]f}|dd	jod
|d<n|i	dƒdiƒdjod
|
}d}	n|i|ƒqÕW|	djod
|
}|i|ƒnti|dƒ}d|iƒd||fSdS(s	prev links	rangeSizes
rangeStartisQUERY_STRINGssquerys,s&s_s-s=s-skips-skip=%iis<a href='%s'>%s</a>s?N(sselfsREQUESTsSESSIONs	storenameslimitsints
newRangeStartsqssstringssplitsqueriessnewquerys	skipFoundsqueryslowersappendsjoinsnewquerystrings
actualPathshtml(sselfshtmls	storenamesqssnewquerystringslimitsnewquerysqueriessquerys	skipFounds
newRangeStart((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysprevLinkÓs:(



 



c
Csb|iddjo|iid}n|id}tid|iƒƒ}tid|iƒƒ}|o
d}n(t
|ƒ|}|djo
d}nti|dƒ}g}	|obx‚|D]S}|idƒdiƒd	jod
|}n|	i|ƒti|	dƒ}qÄWn$|id
|ƒti|dƒ}d|iƒd
||fSdS(s	prev linksQUERY_STRINGssquerysmax\=(.*)\,soffset\=(.*)\,is,s=soffsets
-offset=%is&s<a href='%s'>%s</a>s?N(sselfsREQUESTsSESSIONsqssressearchslowersmaxsoffsets	offsetnewsintsstringssplitsqueriessnewquerysquerysappendsjoinsnewquerystrings
actualPathshtml(
sselfshtmlsqssnewquerystrings	offsetnewsmaxsqueriessoffsetsquerysnewquery((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysprevLink_olds.



 
c
Csh|iddjo|iid}n|id}tid|iƒƒ}tid|iƒƒ}|o
d}n.t
|ƒt
|ƒ}|djo
d}nti|dƒ}g}	|obx‚|D]S}|id	ƒdiƒd
jod|}n|	i|ƒti|	dƒ}qÊWn$|id|ƒti|dƒ}d
|iƒd||fSdS(s	prev linksQUERY_STRINGssquerysmax\=(.*)\,soffset\=(.*)\,iis,s=s-offsets
-offset=%is&s<a href='%s'>%s</a>s?N(sselfsREQUESTsSESSIONsqssressearchslowersmaxsoffsets	offsetnewsintsstringssplitsqueriessnewquerysquerysappendsjoinsnewquerystrings
actualPathshtml(
sselfshtmlsqssnewquerystrings	offsetnewsmaxsqueriessoffsetsquerysnewquery((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysnextLink_old#s.



 
(s__name__s
__module__s__doc__s	meta_typesNones
actualPaths
getRequestslowerEndsZSQLisEmptysZSQLsearchOptionssZSQLInlineSearchsZSQLInlineSearch2sZSQLAdds
ZSQLChangesZSQLChange_oldsZSQLFindsZSQLFoundCountLensZSQLFoundCountsZSQLRangeStarts
ZSQLRangeSizesZSQLRangeEndsparseQueryStrings
ZSQLSearchsZSQLintsnextLinksprevLinksprevLink_oldsnextLink_old(((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLExtendFolders2					
		"					†		15	sZSQLExtendFolderAddsicCsðtƒ}t|ƒ|_||_|i||ƒ|i|ƒ}tƒi	}|o,|d|ƒo
td‚n|iƒn|o?|d|ƒo
td‚n|ididddd	ƒn|tj	o|i||d
dƒSndS(
sÜAdd a new Folder object with id *id*.

    If the 'createPublic' and 'createUserF' parameters are set to any true
    value, an 'index_html' and a 'UserFolder' objects are created respectively
    in the new folder.
    sAdd User Folderss+You are not authorized to add User Folders.sAdd Page Templatess-You are not authorized to add Page Templates.s
PageTemplatessids
index_htmlstitlessupdate_menuiN(sZSQLExtendFoldersobsstrsidstitlesselfs
_setObjects_getObsgetSecurityManagerscheckPermissionscreateUserFsUnauthorizedsmanage_addUserFolderscreatePublicsmanage_addProductsmanage_addPageTemplatesREQUESTsNonesmanage_main(sselfsidstitlescreatePublicscreateUserFsREQUESTsobscheckPermission((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysmanage_addZSQLExtendFolderDs"			

!
(s
OFS.FoldersFoldersGlobalss
PersistentsAcquisitionsImplicitsDTMLFilesurllibsresstringspyPgSQLslibpqs
AccessControlsgetSecurityManagersos.pathsossquoteStringsZSQLExtendFoldersglobalssmanage_addZSQLExtendFolderFormsNonesmanage_addZSQLExtendFolder(sZSQLExtendFoldersmanage_addZSQLExtendFoldersstringsmanage_addZSQLExtendFolderFormslibpqsquoteStrings
PersistentsurllibsDTMLFilesresgetSecurityManagersFoldersossImplicit((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys?s



			

		ÿÿ3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>