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

Reply via email to