Author: jmorliaguet
Date: Sat Nov 19 23:06:33 2005
New Revision: 1901

Modified:
   
cpsskins/branches/jmo-perspectives/configuration/perspectives/metaconfigure.py
   
cpsskins/branches/jmo-perspectives/configuration/perspectives/metadirectives.py
   cpsskins/branches/jmo-perspectives/configuration/resources/metaconfigure.py
   cpsskins/branches/jmo-perspectives/engines/default/perspectives.zcml
Log:

- functional implementation of file-system resources (can still be improved)



Modified: 
cpsskins/branches/jmo-perspectives/configuration/perspectives/metaconfigure.py
==============================================================================
--- 
cpsskins/branches/jmo-perspectives/configuration/perspectives/metaconfigure.py  
    (original)
+++ 
cpsskins/branches/jmo-perspectives/configuration/perspectives/metaconfigure.py  
    Sat Nov 19 23:06:33 2005
@@ -17,24 +17,29 @@
 """
 __docformat__ = "reStructuredText"
 
-from zope.component import queryUtility, provideUtility
+from zope.component import queryUtility, provideUtility, getUtility
 from zope.configuration.exceptions import ConfigurationError
 from zope.interface import alsoProvides
 
 from cpsskins import configuration
 from cpsskins.interfaces import ISettingType
 from cpsskins.perspectives import Perspective
+from cpsskins.perspectives.interfaces import IPerspective
 
 alsoProvides(configuration.IPerspective, ISettingType)
 
-def perspective(_context, name=u'', title=u''):
+def perspective(_context, name=u'', resource=u''):
 
     if queryUtility(configuration.IPerspective, name) is not None:
         raise ConfigurationError(
             "The '%s' perspective has already been registered." % name)
 
+    if not resource:
+        raise ConfigurationError("Must specify a resource name")
+
     # register as a global setting
-    resource = Perspective(name=name, title=title)
-    setting = configuration.Perspective(title=title, readonly=True,
-                                        resource=resource)
+    resource_object = getUtility(IPerspective, resource)
+    setting = configuration.Perspective(title=resource_object.title,
+                                        readonly=True,
+                                        resource=resource_object)
     provideUtility(setting, configuration.IPerspective, name)

Modified: 
cpsskins/branches/jmo-perspectives/configuration/perspectives/metadirectives.py
==============================================================================
--- 
cpsskins/branches/jmo-perspectives/configuration/perspectives/metadirectives.py 
    (original)
+++ 
cpsskins/branches/jmo-perspectives/configuration/perspectives/metadirectives.py 
    Sat Nov 19 23:06:33 2005
@@ -32,6 +32,12 @@
         min_dots=1,
         )
 
+    resource = TextLine(
+        title=_("Resource"),
+        description=_("The name of the resource."),
+        required=False,
+        )
+
     title = TextLine(
         title=_("Title"),
         description=_("The title of the perspective."),

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 23:06:33 2005
@@ -19,7 +19,7 @@
 
 from zope.configuration.exceptions import ConfigurationError
 from zope.xmlpickle import xmlpickle
-from zope.component import providedBy
+from zope.component import providedBy, provideUtility
 
 def resources(_context, type=None, file=None):
 
@@ -43,6 +43,5 @@
             raise TypeError("The specified resource does not implement "
                             "the promised interface.")
 
-        # TODO: register the resource
-        print repr(resources)
+        provideUtility(resource, type, resource.name)
 

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 23:06:33 2005
@@ -1,16 +1,19 @@
 <configure
     xmlns="http://namespaces.zope.org/cpsskins";>
 
-  <perspective
-      name="cpsskins.globalperspective"
-      title="Global perspective"
-  />
-
-  <!-- XXX for testing -->
+  <!-- Resources -->
 
   <resources
       type="cpsskins.perspectives.interfaces.IPerspective"
       file="perspectives.xml"
   />
 
+
+  <!-- Settings -->
+
+  <perspective
+      name="cpsskins.globalperspective"
+      resource="cpsskins.globalperspective"
+  />
+
 </configure>
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to