Author: jmorliaguet Date: Sun May 7 11:58:34 2006 New Revision: 3064 Modified: cpsskins/branches/paris-sprint-2006/configuration/setup/metaconfigure.py cpsskins/branches/paris-sprint-2006/configuration/setup/metadirectives.py cpsskins/branches/paris-sprint-2006/utils.py
Log: - getThemeManager takes an optional 'name' parameter which is the name under which the utility was registered. - added a 'name' option in the cpsskins:setup directive to make it possible the register several theme sites. (not functional yet) Modified: cpsskins/branches/paris-sprint-2006/configuration/setup/metaconfigure.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/configuration/setup/metaconfigure.py (original) +++ cpsskins/branches/paris-sprint-2006/configuration/setup/metaconfigure.py Sun May 7 11:58:34 2006 @@ -21,9 +21,9 @@ from cpsskins.setup.registration import registerSite -def setup(_context, site=u''): +def setup(_context, name=u'', path=u''): - if not site: + if not path: raise ConfigurationError("Must specify a site path.") - registerSite(site) + registerSite(path) Modified: cpsskins/branches/paris-sprint-2006/configuration/setup/metadirectives.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/configuration/setup/metadirectives.py (original) +++ cpsskins/branches/paris-sprint-2006/configuration/setup/metadirectives.py Sun May 7 11:58:34 2006 @@ -20,12 +20,20 @@ from zope.interface import Interface from zope.i18nmessageid import MessageFactory from zope.configuration.fields import Path +from zope.schema import TextLine _ = MessageFactory("cpsskins") class ISetupDirective(Interface): - site = Path( + name = TextLine( + title=_(u"Name"), + description=_(u"The site's name"), + required=False, + default=u'', + ) + + path = Path( title=_(u"Site"), description=_(u"The path of the site to load."), required=False, Modified: cpsskins/branches/paris-sprint-2006/utils.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/utils.py (original) +++ cpsskins/branches/paris-sprint-2006/utils.py Sun May 7 11:58:34 2006 @@ -22,21 +22,22 @@ from cpsskins.thememanager import IThemeManagementFolder -def getThemeManager(context=None): +def getThemeManager(context=None, name=u''): # global utility if context is None: gsm = getGlobalSiteManager() - mgr = gsm.queryUtility(IThemeManagementFolder) + mgr = gsm.queryUtility(IThemeManagementFolder, name=name) if mgr is None: raise ValueError("No global theme management folder was found.") return mgr # local utility - mgr = getSiteManager(context).queryUtility(IThemeManagementFolder) + sm = getSiteManager(context) + mgr = sm.queryUtility(IThemeManagementFolder, name=name) if mgr is not None: return mgr - # folder in context or in a parent folder + # folder in context or in a parent folder. ob = context while ob is not None: if IThemeManagementFolder.providedBy(ob): -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins