;ò Ã;ACc@sYdZdkZdkZdkZdklZdklZdkl Z l Z dk l Z dk lZdklZlZlZdklZd klZyd klZWnej onXeeƒZd „Zd „Zd „Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)dS(s‘Install kupu in CMF and, if available, Plone This is best executed using CMFQuickInstaller $Id: Install.py 18104 2005-10-03 14:10:11Z duncan $ N(sStringIO(s package_home(s getToolByNames minimalpath(screateDirectoryView(s kupu_globals(sTOOLNAMEs PROJECTNAMEs TOOLTITLE(sBadRequestException(s BadRequest(s MimeTypeItemc CsN|dIJt|dƒ}||iƒjo=ttii t |ƒƒ}t |||ƒ|d|IJnxÞ|iƒD]Ð}|i|ƒ} gi}| idƒD]}||iƒƒq¢~} y2|| jo!| i| idƒd|ƒnWn1tj o%|| jo| i|ƒq'nXdi | ƒ} |i|| ƒqvWdS(s3Register a file system directory as skin layer sregister skin layerss portal_skinss*The layer '%s' was added to the skins tools,scustomiN(souts getToolByNamesselfs skinstoolsnames objectIdss minimalpathsosspathsjoinskupu_package_dirsrelpathskupu_plone_skin_dirscreateDirectoryViewsgetSkinSelectionssskinNames getSkinPathsappends_[1]ssplitsisstripsinsertsindexs ValueErrorsaddSkinSelection( sselfsrelpathsnamesoutsiskupu_plone_skin_dirsskinNames_[1]s skinstoolspath((s@/mnt/gmirror/ports/www/zope-kupu/work/kupu/Extensions/Install.pysregister_layer%s&  6 % cCsÝt|dd|ƒt|dƒ}t|dtƒ}d}|tj oQt |i |ƒƒ}d|jo+|i dƒ|i ||ƒ|dIJq˜nt||ƒt||ƒt||ƒt||ƒt||ƒdS( sInstall with plone splone/kupu_plone_layers kupu_plonesportal_propertiesssite_propertiessavailable_editorssKupus+Added 'Kupu' to available editors in Plone.N(sregister_layersselfsouts getToolByNames portal_propssgetattrsNones site_propssattrnameslists getPropertyseditorssappends_updatePropertysinstall_librariessinstall_configletsinstall_transformsinstall_resourcessinstall_customisation(sselfsouts portal_propss site_propsseditorssattrname((s@/mnt/gmirror/ports/www/zope-kupu/work/kupu/Extensions/Install.pys install_plone=s        cCsGttiitddƒdƒ}z|iƒ}|SWd|iƒXdS(Nsplones head.kupusr( sopensosspathsjoinskupu_package_dirs resourcefilesreadsdatasclose(s resourcefilesdata((s@/mnt/gmirror/ports/www/zope-kupu/work/kupu/Extensions/Install.pys_read_resourcesSs ! ccs@tidƒ}x*|i|ƒD]}|idƒ}|VqWdS(Ns8\]*rel="stylesheet"[^>]*\${portal_url}/([^"]*)"i(srescompilesCSSPATsfinditers resourcessmsgroupsid(s resourcessmsCSSPATsid((s@/mnt/gmirror/ports/www/zope-kupu/work/kupu/Extensions/Install.pys css_files[s ccsTtidƒ}x>|i|ƒD]-}|idƒ}|djoqn|VqWdS(Ns%\