Author: jmorliaguet Date: Sat Nov 19 22:18:04 2005 New Revision: 1899 Added: cpsskins/branches/jmo-perspectives/engines/default/perspectives.xml - copied unchanged from r1898, cpsskins/branches/jmo-perspectives/engines/default/globalperspective.xml Removed: cpsskins/branches/jmo-perspectives/engines/default/globalperspective.xml Modified: cpsskins/branches/jmo-perspectives/configuration/resources/meta.zcml cpsskins/branches/jmo-perspectives/configuration/resources/metaconfigure.py cpsskins/branches/jmo-perspectives/configuration/resources/metadirectives.py cpsskins/branches/jmo-perspectives/engines/default/perspectives.zcml Log:
- made it possible to import several resources of the same type Modified: cpsskins/branches/jmo-perspectives/configuration/resources/meta.zcml ============================================================================== --- cpsskins/branches/jmo-perspectives/configuration/resources/meta.zcml (original) +++ cpsskins/branches/jmo-perspectives/configuration/resources/meta.zcml Sat Nov 19 22:18:04 2005 @@ -3,9 +3,9 @@ <directives namespace="http://namespaces.zope.org/cpsskins"> <directive - name="resource" - schema=".metadirectives.IResourceDirective" - handler=".metaconfigure.resource" /> + name="resources" + schema=".metadirectives.IResourcesDirective" + handler=".metaconfigure.resources" /> </directives> Modified: cpsskins/branches/jmo-perspectives/configuration/resources/metaconfigure.py ============================================================================== --- cpsskins/branches/jmo-perspectives/configuration/resources/metaconfigure.py (original) +++ cpsskins/branches/jmo-perspectives/configuration/resources/metaconfigure.py Sat Nov 19 22:18:04 2005 @@ -19,11 +19,9 @@ from zope.configuration.exceptions import ConfigurationError from zope.xmlpickle import xmlpickle +from zope.component import providedBy -def resource(_context, name=u'', type=None, file=None): - - if not name: - raise ConfigurationError("Must specify a resource name.") +def resources(_context, type=None, file=None): if not type: raise ConfigurationError("Must specify a resource type.") @@ -35,8 +33,16 @@ pickle = f.read() f.close() - resource = xmlpickle.loads(pickle) + resources = xmlpickle.loads(pickle) + + if not isinstance(resources, (list, tuple)): + resources = [resources] + + for resource in resources: + if not type in list(providedBy(resource)): + raise TypeError("The specified resource does not implement " + "the promised interface.") - # TODO: register the resource - print repr(resource) + # TODO: register the resource + print repr(resources) Modified: cpsskins/branches/jmo-perspectives/configuration/resources/metadirectives.py ============================================================================== --- cpsskins/branches/jmo-perspectives/configuration/resources/metadirectives.py (original) +++ cpsskins/branches/jmo-perspectives/configuration/resources/metadirectives.py Sat Nov 19 22:18:04 2005 @@ -20,21 +20,14 @@ from zope.configuration.fields import GlobalObject, Path from zope.interface import Interface from zope.i18nmessageid import MessageFactory -from zope.schema import TextLine _ = MessageFactory("cpsskins") -class IResourceDirective(Interface): - - name = TextLine( - title=_("Name"), - description=_("The name of the resource."), - required=False, - ) +class IResourcesDirective(Interface): type = GlobalObject( title=_("Type"), - description=_("The type the resource."), + description=_("The type of resources."), required=False, ) @@ -43,4 +36,3 @@ description=_("The resource file."), required=False, ) - Modified: cpsskins/branches/jmo-perspectives/engines/default/perspectives.zcml ============================================================================== --- cpsskins/branches/jmo-perspectives/engines/default/perspectives.zcml (original) +++ cpsskins/branches/jmo-perspectives/engines/default/perspectives.zcml Sat Nov 19 22:18:04 2005 @@ -8,10 +8,9 @@ <!-- XXX for testing --> - <resource - type="cpsskins.configuration.perspectives.perspective.IPerspective" - name="cpsskins.globalperspective" - file="globalperspective.xml" + <resources + type="cpsskins.perspectives.interfaces.IPerspective" + file="perspectives.xml" /> </configure> -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins