File:  [Repository] / ZSQLExtend / Attic / ZSQLExtend.pyc
Revision 1.3: download - view: text, annotated - select for diffs - revision graph
Wed Feb 11 17:44:54 2004 UTC (20 years, 3 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
some additions

;ò
:g*@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ssZSQLExtendFoldercBsFtZdZdZdd„Zd„Zed„Zd„Zd„Z	d„Z
dd	„Zed
„Zd„Z
d„Zd
„Zd„Zdded„Zd„Zdded„Zed„Zed„Zed„Zdeeed„Zd„Zd„Zdd„Zdd„Zdd„Zdd„Zd „Zd!„ZRS("sFoldersZSQLExtendFolderscCs0dG|GHy|t||ƒSWndSnXdS(sget Attribute or emptystringsobjsN(sobjsprefsgetattrsatribute(sselfsobjsatributespref((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
getSAttributes	cCs|o|SndSdS(smake none to empty stringsN(sstr(sselfsstr((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysgetSscCs…|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
actualPath%s

cCs|iSdS(srequestN(sselfsREQUEST(sself((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pys
getRequest3scCstii|ƒddSdS(soinly for demois.jpgN(sosspathssplitext(sselfspath((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pyslowerEnd7scCs-|odSn|djodSndSdS(sTeste ob Treffer leerisiN(sfield(sselfsfield((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLisEmpty;s
cCsd|}|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.pysZSQLsearchOptionsDs
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.pysZSQLInlineSearchOs
,cCsg}|id|ƒSdS(sinlinesearchsvarN(sqssselfssearchsquery(sselfsquerysqs((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLInlineSearch2_scCsÂ|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.pysZSQLAddis4
(

&$
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
ZSQLChange†s421

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
ZSQLRangeSizescCs'|ond}|ii|dSdS(Ns
foundCountsrangeEnd(s	storenamesselfsREQUESTsSESSION(sselfs	storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLRangeEnd
ssnocCsSd}d}d}g}d}d}h}d}d}
d}h}|o
d}n|i
dƒ}xˆ|D]€}tidd	|i
d
ƒdiƒƒ}ti|i
d
ƒdƒ}|dd!|d
jo|}|d}|||<qjqjWxC|i
dƒD]2}tidd	|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<q0qþ||d
jo
|}qþ|d|jot |ƒdjo||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|o†d)|
|f}|iii!|ƒoh|ii|<n|ii|i!d*ƒ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<||ii|d1<n|	GH|i*d+|	ƒSd2S(3sanalysieren 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	rangeSizessearchFieldsN(-slopsmaxsmaxstrs	whereListssortsopsopfieldssskips
rangeStartslimitssearchFieldssselectsqsssplitssplittedsqsressubslowersnamesurllibsunquotesvaluesiCTsfieldstablesstrsappendsnostoresselfsREQUESTsSESSIONslenshas_keyslibpqs
PgQuoteStringsstringsjoinswheresquerys	storenamesquery2ssearchscountsint(sselfsqssiCTsstoremaxsselectsnostores	storenamesskipsopfieldssquerystablesfieldsmaxstrs
rangeStartslopssearchFieldsssorts	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
foundCountcCs5|ii|diƒGH|ii|diƒSdS(sget searchfieldListssearchFieldsN(sselfsREQUESTsSESSIONs	storenameskeys(sselfs	storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysgetZSQLSearchFieldsListºscCs-dG|ii|dGH|ii|dSdS(sget searchfieldsSFssearchFieldsN(sselfsREQUESTsSESSIONs	storename(sselfs	storename((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysgetZSQLSearchFields¿scCs¹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_old+s.



 
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_oldFs.



 
( s__name__s
__module__s__doc__s	meta_types
getSAttributesgetSsNones
actualPaths
getRequestslowerEndsZSQLisEmptysZSQLsearchOptionssZSQLInlineSearchsZSQLInlineSearch2sZSQLAdds
ZSQLChangesZSQLChange_oldsZSQLFindsZSQLFoundCountLensZSQLFoundCountsZSQLRangeStarts
ZSQLRangeSizesZSQLRangeEndsparseQueryStrings
ZSQLSearchsZSQLintsgetZSQLSearchFieldsListsgetZSQLSearchFieldssnextLinksprevLinksprevLink_oldsnextLink_old(((sP/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ZSQLExtend/ZSQLExtend.pysZSQLExtendFolders:							
		"					Ž		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_addZSQLExtendFoldergs"			

!
(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



			

		ÿÿV

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