;ň ž˜@c@s­dklZdklZdklZdklZdklZdk l Z dk l Z dZ eƒZd„Ze ed „Zd „Zd „Zed „Zd „ZdS((sgroupuserfolder_globals(sGroupUserFolder(sStringIO(s getToolByName(saddDirectoryViews(saq_base(smanage_addFoldersgrufcCsdS(N((sselfsout((sV/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Extensions/Install.pys install_plone sc Cs9|dIJt|dƒ}||iƒjo|dIJt|d|ƒnxŢ|iƒD]Đ}|i |ƒ}gi }|idƒD]}||iƒƒqƒ~}y2||jo!|i|idƒd|ƒnWn1tj o%||jo|i |ƒqnXdi|ƒ}|i||ƒqWW|dIJdS( Ns Installing subskin.s portal_skinss" Adding directory view for GRUFsskinss,scustomis Done installing subskin.(souts getToolByNamesselfs skinstools skin_names objectIdssaddDirectoryViewssglobalssgetSkinSelectionssskinNames getSkinPathspathsappends_[1]ssplitsisstripsinsertsindexs ValueErrorsjoinsaddSkinSelection( sselfsouts skin_namesglobalssisskinNames_[1]s skinstoolspath((sV/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Extensions/Install.pysinstall_subskins$   6 % cCsF|io+x(|iƒD]}t|||ƒqWn|||ƒdS(N(sobjsisPrincipiaFolderishs objectValuesscontentswalksouts operation(soutsobjs operationscontent((sV/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Extensions/Install.pyswalk%s   cCs/|iƒ}|djo|iidjo.|ddi|iƒƒfIJ|iƒSn|ddi|iƒƒfIJ|i }|i dƒ}|i }|` d|iƒjo|idƒn|idiƒ|iiidƒ|iiidt|ƒƒtt|dƒƒ|_ n|iƒSdS(sÜ Move a user folder into a temporary folder, create a GroupUserFolder, and then move the old user folder into the Users portion of the GRUF. NOTE: You cant copy/paste between CMF and Zope folder. *sigh* s acl_userssGroupUserFoldersF Do NOT migrate acl_users at %s, as it is already a GroupUserFolders/s9 Migrating acl_users folder at %s to a GroupUserFolderN(sobjsgetIdsids __class__s__name__soutsjoinsgetPhysicalPathsgetvalues aq_parents containers_getObs tmp_userss__allow_groups__s tmp_allows objectIdssmanage_delObjectssmanage_addProductsmanage_addGroupUserFolders acl_userssUserss _setObjectsaq_basesgetattr(sobjsouts containers tmp_allows tmp_userssid((sV/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Extensions/Install.pysmigrate_user_folder,s$      cCs{|tjo tƒ}n|dIJt|dƒ}|iƒ}x!|iƒD]}t ||ƒqLW|dIJ|i ƒSdS(Ns: Attempting to migrate UserFolders to GroupUserFolders...s portal_urls1 Done Migrating UserFolders to GroupUserFolders.( soutsNonesStringIOs getToolByNamesselfsurltoolsgetPortalObjects plonesites objectValuessobjsmigrate_user_foldersgetvalue(sselfsoutsobjsurltools plonesite((sV/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Extensions/Install.pysmigrate_plone_site_to_grufNs      cCsRtƒ}|dIJt||ƒt||ƒt||ƒ|dIJ|iƒSdS(NsInstalling GroupUserFoldersDone.(sStringIOsoutsinstall_subskinsselfs install_plonesmigrate_plone_site_to_grufsgetvalue(sselfsout((sV/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Extensions/Install.pysinstall^s      N(sProducts.GroupUserFoldersgroupuserfolder_globalss(Products.GroupUserFolder.GroupUserFoldersGroupUserFoldersStringIOsProducts.CMFCore.utilss getToolByNamesProducts.CMFCore.DirectoryViewsaddDirectoryViewss Acquisitionsaq_bases OFS.Foldersmanage_addFolders SKIN_NAMEsglobalss_globalss install_plonesinstall_subskinswalksmigrate_user_foldersNonesmigrate_plone_site_to_grufsinstall(sGroupUserFoldersaq_basesStringIOsmigrate_plone_site_to_grufs_globalssinstall_subskinswalks install_plonesinstallsaddDirectoryViewss getToolByNames SKIN_NAMEsmigrate_user_foldersgroupuserfolder_globalssmanage_addFolder((sV/mnt/gmirror/ports/www/zope-groupuserfolder/work/GroupUserFolder/Extensions/Install.pys?s           "