;ò Do±=c@sÃdZdklZdklZdklZdklZdk l Z dk l Z dk Z dk Z dk lZdkZd klZlZlZd Zd „Zd „Zd „Zd„ZdS(sMThis file is an installation script for CMFForum (ZPT skins). It's meant to be used as an External Method. To use, add an external method to the root of the CMF Site that you want ZPT skins registered in with the configuration: id: install_forum title: Install Forum Product *optional* module name: CMFForum.Install function name: install Then go to the management screen for the newly added external method and click the 'Test' tab. The install function will execute and give information about the steps it took to register and install the ZPT skins into the CMF Site instance. (sContentFactoryMetadata(saddDirectoryViews(s getToolByName(sExternalMethod(saq_base(sStringION(sImplicit(scmfforum_globalssForumsPosts0.1cCsñt|dƒ}xÛ|iƒD]Í}|i|ƒ}tti ti |dƒƒ}||j o{y!|i |i dƒd|ƒWn tj o|i|ƒnXti|dƒ}|i||ƒ|id|ƒq|id|ƒqWdS( s2 Installs a subskin, should be just 1 folder. s portal_skinss,scustomis, s1CMFForum subskin successfully installed into %s. s0CMFForum subskin was already installed into %s. N(s getToolByNamesselfs skinstoolsgetSkinSelectionssskins getSkinPathspathsmapsstringsstripssplits skinFoldersinsertsindexs ValueErrorsappendsjoinsaddSkinSelections outStreamswrite(sselfs outStreams skinFolders skinstoolsskinspath((sH/mnt/gmirror/ports/www/zope-cmfforum/work/CMFForum/Extensions/Install.pysinstall_SubSkin#s !cCsƒt|dƒ}y!t||dƒ|idƒWn|idƒnXy!t|dtƒ|idƒWn|idƒnXdS( st Add a new skin, 'Plone', copying 'ZPT', if it exists, and then add our directories only to it. s portal_skinss zpt_forums)CMFForum subskin successfully installed. s$CMFForum subskin failed to install. sskinss0Added CMFForum directory views to portal_skins. s7Unable to add CMFForum directory view to portal_skins. N(s getToolByNamesselfs skinstoolsinstall_SubSkinsoutswritesaddDirectoryViewsscmfforum_globals(sselfsouts skinstool((sH/mnt/gmirror/ports/www/zope-cmfforum/work/CMFForum/Extensions/Install.pysinstall_ForumSkins5scCst|dƒ}t|dƒ}tƒ}|idttƒdƒt ||ƒt|dƒ}x…t i t i fD]q}|d|iƒjo?ttf|ƒ}|i|d|ƒ|id|dƒqq|id|dƒqqW|id d fgƒ|id ƒ|iƒSd S( s8 Register the Forum Skins with portal_skins and friends s portal_skinssportal_workflowsCMFForum installation tool vs. s portal_typessids"Registered %s with the types tool s&Skipping "%s" - already in types tool sForumsPosts#Removed workflow for Forum and PostN(s getToolByNamesselfs skinstoolswf_toolsStringIOsoutswritesstrs __version__sinstall_ForumSkinss types_toolsForumsfactory_type_informationsPoststs objectIdssapplysContentFactoryMetadatascfms _setObjectssetChainForPortalTypessgetvalue(sselfscfms types_tools skinstoolswf_toolstsout((sH/mnt/gmirror/ports/www/zope-cmfforum/work/CMFForum/Extensions/Install.pysinstallIs"   cCs†tƒ}|idttƒdƒt||dƒ|idƒ|idƒ|idi }|dt ƒ|idƒ|i ƒSd S( sA Replace default DiscussionTool from CMF by a CMFForum-based one sCMFForum installation tool vs. szpt_forum/discussions8* Replacing Default CMF DiscussionTool by CMFForums one.sportal_discussionsCMFForumsCMFForum Discussion ToolsDone.N( sStringIOsoutswritesstrs __version__sinstall_SubSkinsselfsmanage_delObjectssmanage_addProductsmanage_addTools addPloneToolsNonesgetvalue(sselfs addPloneToolsout((sH/mnt/gmirror/ports/www/zope-cmfforum/work/CMFForum/Extensions/Install.pysinstall_discussionsds     (s__doc__sProducts.CMFCore.TypesToolsContentFactoryMetadatasProducts.CMFCore.DirectoryViewsaddDirectoryViewssProducts.CMFCore.utilss getToolByNamesProducts.ExternalMethodsExternalMethods Acquisitionsaq_bases cStringIOsStringIOsstringsImplicits PersistencesProducts.CMFForumscmfforum_globalssForumsPosts __version__sinstall_SubSkinsinstall_ForumSkinssinstallsinstall_discussions(sinstall_discussionssaq_basesForumsStringIOsinstall_SubSkinsExternalMethods Persistencesinstalls getToolByNamesinstall_ForumSkinssaddDirectoryViewssPosts __version__scmfforum_globalssImplicitsContentFactoryMetadatasstring((sH/mnt/gmirror/ports/www/zope-cmfforum/work/CMFForum/Extensions/Install.pys?s