Author: jmorliaguet
Date: Fri Apr 14 16:09:22 2006
New Revision: 2845

Removed:
   cpsskins/branches/jmo-perspectives/standard/io/layout.py
   cpsskins/branches/jmo-perspectives/standard/io/layout.xml
   cpsskins/branches/jmo-perspectives/standard/io/perspective.py
Modified:
   cpsskins/branches/jmo-perspectives/configure.zcml
   cpsskins/branches/jmo-perspectives/elements/element.py
   cpsskins/branches/jmo-perspectives/perspectives/configure.zcml
   cpsskins/branches/jmo-perspectives/setup/README.txt
   cpsskins/branches/jmo-perspectives/setup/interfaces.py
   cpsskins/branches/jmo-perspectives/setup/manager.py
   cpsskins/branches/jmo-perspectives/setup/settings.py
   cpsskins/branches/jmo-perspectives/standard/io/layout.zcml
   cpsskins/branches/jmo-perspectives/standard/io/perspective.zcml
   cpsskins/branches/jmo-perspectives/standard/io/setting.py
   cpsskins/branches/jmo-perspectives/standard/io/setting.zcml
   cpsskins/branches/jmo-perspectives/standard/io/settings.py
   cpsskins/branches/jmo-perspectives/standard/io/settings.zcml
   cpsskins/branches/jmo-perspectives/standard/portlets/image/portlet.py
   cpsskins/branches/jmo-perspectives/thememanager.py
   cpsskins/branches/jmo-perspectives/ui/screens/sitemanager/views.py
Log:

- saving work:

  the 'layout' importer is now a generic importer

  some work on the IO of settings / perspectives



Modified: cpsskins/branches/jmo-perspectives/configure.zcml
==============================================================================
--- cpsskins/branches/jmo-perspectives/configure.zcml   (original)
+++ cpsskins/branches/jmo-perspectives/configure.zcml   Fri Apr 14 16:09:22 2006
@@ -59,8 +59,8 @@
 
     <require
         permission="zope.ManageSite"
-        interface=".setup.interfaces.ISettings"
-        set_schema=".setup.interfaces.ISettings"
+        interface=".setup.settings.ISettings"
+        set_schema=".setup.settings.ISettings"
         />
 
     <require

Modified: cpsskins/branches/jmo-perspectives/elements/element.py
==============================================================================
--- cpsskins/branches/jmo-perspectives/elements/element.py      (original)
+++ cpsskins/branches/jmo-perspectives/elements/element.py      Fri Apr 14 
16:09:22 2006
@@ -35,7 +35,7 @@
 
 def uniq(seq):
     set = {}
-    return [set.setdefault(e, e) for e in seq if e not in set]
+    return [set.setdefault(e, e) for e in seq if e not in set and e is not 
None]
 
 class Element(Contained):
     """An element

Modified: cpsskins/branches/jmo-perspectives/perspectives/configure.zcml
==============================================================================
--- cpsskins/branches/jmo-perspectives/perspectives/configure.zcml      
(original)
+++ cpsskins/branches/jmo-perspectives/perspectives/configure.zcml      Fri Apr 
14 16:09:22 2006
@@ -34,4 +34,5 @@
       schema=".interfaces.IPerspective"
   />
 
+
 </configure>

Modified: cpsskins/branches/jmo-perspectives/setup/README.txt
==============================================================================
--- cpsskins/branches/jmo-perspectives/setup/README.txt (original)
+++ cpsskins/branches/jmo-perspectives/setup/README.txt Fri Apr 14 16:09:22 2006
@@ -35,8 +35,9 @@
     >>> from zope.component import getUtility
     >>> from zope.interface import implements, Interface
 
-    >>> from cpsskins.setup.interfaces import IResourceManager, ISettings
+    >>> from cpsskins.setup.interfaces import IResourceManager
     >>> from cpsskins.setup.manager import ResourceManager
+    >>> from cpsskins.setup.settings import ISettings
     >>> from cpsskins.setup.test.dummy import IDummyResource, DummyResource
 
     >>> from cpsskins.tests.setup import addThemeManager

Modified: cpsskins/branches/jmo-perspectives/setup/interfaces.py
==============================================================================
--- cpsskins/branches/jmo-perspectives/setup/interfaces.py      (original)
+++ cpsskins/branches/jmo-perspectives/setup/interfaces.py      Fri Apr 14 
16:09:22 2006
@@ -21,9 +21,6 @@
 from zope.interface.interfaces import IInterface
 from zope.schema import TextLine
 
-class ISettings(Interface):
-    """ """
-
 class IResourceType(IInterface):
     """ """
 

Modified: cpsskins/branches/jmo-perspectives/setup/manager.py
==============================================================================
--- cpsskins/branches/jmo-perspectives/setup/manager.py (original)
+++ cpsskins/branches/jmo-perspectives/setup/manager.py Fri Apr 14 16:09:22 2006
@@ -28,9 +28,10 @@
 from zope.component import (getUtilitiesFor, queryUtility, getUtility,
                             provideUtility, providedBy)
 
-from cpsskins.setup.interfaces import IResourceManager, IResource, ISettings
+from cpsskins.setup.interfaces import IResourceManager, IResource
 from cpsskins.setup.interfaces import ISetting, IGlobalSetting, ILocalSetting
 from cpsskins.setup.setting import GlobalSetting, LocalSetting
+from cpsskins.setup.settings import ISettings
 
 class ResourceManager(object):
     """Resource manager utility"""

Modified: cpsskins/branches/jmo-perspectives/setup/settings.py
==============================================================================
--- cpsskins/branches/jmo-perspectives/setup/settings.py        (original)
+++ cpsskins/branches/jmo-perspectives/setup/settings.py        Fri Apr 14 
16:09:22 2006
@@ -18,9 +18,10 @@
 __docformat__ = "reStructuredText"
 
 from zope.app.component.site import SiteManagementFolder
-from zope.interface import implements
+from zope.interface import implements, Interface
 
-from cpsskins.setup.interfaces import ISettings
+class ISettings(Interface):
+    """ """
 
 class Settings(SiteManagementFolder):
 

Modified: cpsskins/branches/jmo-perspectives/standard/io/layout.zcml
==============================================================================
--- cpsskins/branches/jmo-perspectives/standard/io/layout.zcml  (original)
+++ cpsskins/branches/jmo-perspectives/standard/io/layout.zcml  Fri Apr 14 
16:09:22 2006
@@ -6,13 +6,17 @@
   <browser:view
       provides="cpsskins.setup.interfaces.IDataExporter"
       for="cpsskins.standard.formats.layout.ILayout"
-      class=".layout.Exporter"
+      class="cpsskins.setup.utils.ObjectExporter"
       permission="zope.ManageContent"
   />
 
   <!-- XML import -->
-  <adapter
-      factory=".layout.Importer"
+  <browser:view
+      provides="cpsskins.setup.interfaces.IDataImporter"
+      for="cpsskins.standard.formats.storage.IFormatStorage"
+      class="cpsskins.setup.utils.ObjectImporter"
+      permission="zope.ManageContent"
+      name="layout"
   />
 
 </configure>

Modified: cpsskins/branches/jmo-perspectives/standard/io/perspective.zcml
==============================================================================
--- cpsskins/branches/jmo-perspectives/standard/io/perspective.zcml     
(original)
+++ cpsskins/branches/jmo-perspectives/standard/io/perspective.zcml     Fri Apr 
14 16:09:22 2006
@@ -6,13 +6,17 @@
   <browser:view
       provides="cpsskins.setup.interfaces.IDataExporter"
       for="cpsskins.perspectives.interfaces.IPerspective"
-      class=".perspective.Exporter"
+      class="cpsskins.setup.utils.ObjectExporter"
       permission="zope.ManageContent"
   />
 
   <!-- XML import -->
-  <adapter
-      factory=".perspective.Importer"
+  <browser:view
+      provides="cpsskins.setup.interfaces.IDataImporter"
+      for="cpsskins.setup.settings.ISettings"
+      class="cpsskins.setup.utils.ObjectImporter"
+      permission="zope.ManageContent"
+      name="perspective"
   />
 
 </configure>

Modified: cpsskins/branches/jmo-perspectives/standard/io/setting.py
==============================================================================
--- cpsskins/branches/jmo-perspectives/standard/io/setting.py   (original)
+++ cpsskins/branches/jmo-perspectives/standard/io/setting.py   Fri Apr 14 
16:09:22 2006
@@ -59,15 +59,13 @@
 class Importer(object):
     """Import settings
     """
-    adapts(ISetting)
     implements(IDataImporter)
 
-    def __init__(self, context):
+    def __init__(self, context, request):
         self.context = context
+        self.request = request
 
-    def load(self, xml=u''):
+    def load(self, dom):
         context = self.context
-        dom = parseString(xml)
-        # TODO
         print dom
 

Modified: cpsskins/branches/jmo-perspectives/standard/io/setting.zcml
==============================================================================
--- cpsskins/branches/jmo-perspectives/standard/io/setting.zcml (original)
+++ cpsskins/branches/jmo-perspectives/standard/io/setting.zcml Fri Apr 14 
16:09:22 2006
@@ -11,8 +11,12 @@
   />
 
   <!-- XML import -->
-  <adapter
-      factory=".setting.Importer"
+  <browser:view
+      provides="cpsskins.setup.interfaces.IDataExporter"
+      for="cpsskins.setup.settings.ISettings"
+      class=".setting.Importer"
+      permission="zope.ManageContent"
+      name="setting"
   />
 
 </configure>

Modified: cpsskins/branches/jmo-perspectives/standard/io/settings.py
==============================================================================
--- cpsskins/branches/jmo-perspectives/standard/io/settings.py  (original)
+++ cpsskins/branches/jmo-perspectives/standard/io/settings.py  Fri Apr 14 
16:09:22 2006
@@ -25,17 +25,11 @@
 from zope.interface import implements
 
 from cpsskins.setup.interfaces import IDataExporter, IDataImporter
-from cpsskins.setup.interfaces import IResource, ISettings, IResourceType
-from cpsskins.setup.interfaces import ISetting
-
-settings_xml = u"""<?xml version="1.0"?>
-<settings>
-  %(content)s
-</settings>
-"""
+from cpsskins.setup.interfaces import IResource, ISetting, IResourceType
+from cpsskins.setup.settings import ISettings
 
 class Exporter(object):
-    """Export all settings
+    """Export settings
     """
     implements(IDataExporter)
 
@@ -48,20 +42,22 @@
             exporter = getMultiAdapter((setting, request), IDataExporter)
             xml += exporter().replace(u'<?xml version="1.0"?>', u'')
 
-        return settings_xml % {'content': xml}
+        return u"""<?xml version="1.0"?>
+<settings>
+%(content)s
+</settings>
+""" % {'content': xml}
 
 class Importer(object):
     """Import settings
     """
-    adapts(ISettings)
     implements(IDataImporter)
 
     def __init__(self, context):
         self.context = context
+        self.request = request
 
-    def load(self, xml=u''):
+    def load(self, dom):
         context = self.context
-        dom = parseString(xml)
-        # TODO
         print dom
 

Modified: cpsskins/branches/jmo-perspectives/standard/io/settings.zcml
==============================================================================
--- cpsskins/branches/jmo-perspectives/standard/io/settings.zcml        
(original)
+++ cpsskins/branches/jmo-perspectives/standard/io/settings.zcml        Fri Apr 
14 16:09:22 2006
@@ -5,14 +5,19 @@
   <!-- XML export -->
   <browser:view
       provides="cpsskins.setup.interfaces.IDataExporter"
-      for="cpsskins.setup.interfaces.ISettings"
+      for="cpsskins.setup.settings.ISettings"
       class=".settings.Exporter"
       permission="zope.ManageContent"
   />
 
   <!-- XML import -->
-  <adapter
-      factory=".settings.Importer"
+  <browser:view
+      provides="cpsskins.setup.interfaces.IDataImporter"
+      for="cpsskins.thememanager.IThemeManagementFolder"
+      class=".settings.Importer"
+      permission="zope.ManageContent"
+      name="settings"
   />
 
+
 </configure>

Modified: cpsskins/branches/jmo-perspectives/standard/portlets/image/portlet.py
==============================================================================
--- cpsskins/branches/jmo-perspectives/standard/portlets/image/portlet.py       
(original)
+++ cpsskins/branches/jmo-perspectives/standard/portlets/image/portlet.py       
Fri Apr 14 16:09:22 2006
@@ -59,9 +59,9 @@
     implements(IImage)
 
     def __init__(self, title=u'', link=u'', **kw):
+        super(Image, self).__init__(**kw)
         self.title = title
         self.link = link
-        ImageFile.__init__(self, **kw)
 
     def __call__(self, info):
         path = u''

Modified: cpsskins/branches/jmo-perspectives/thememanager.py
==============================================================================
--- cpsskins/branches/jmo-perspectives/thememanager.py  (original)
+++ cpsskins/branches/jmo-perspectives/thememanager.py  Fri Apr 14 16:09:22 2006
@@ -43,8 +43,8 @@
 from cpsskins.relations import MonadicRelation
 from cpsskins.relations.interfaces import IRelationStorage, IRelationTool
 from cpsskins.relations.storage import RelationStorage
-from cpsskins.setup.interfaces import IResourceManager, ISettings
-from cpsskins.setup.settings import Settings
+from cpsskins.setup.interfaces import IResourceManager
+from cpsskins.setup.settings import Settings, ISettings
 from cpsskins.setup.storage import ISnapshotStorage, SnapshotStorage
 
 logger = logging.getLogger("cpsskins")

Modified: cpsskins/branches/jmo-perspectives/ui/screens/sitemanager/views.py
==============================================================================
--- cpsskins/branches/jmo-perspectives/ui/screens/sitemanager/views.py  
(original)
+++ cpsskins/branches/jmo-perspectives/ui/screens/sitemanager/views.py  Fri Apr 
14 16:09:22 2006
@@ -27,10 +27,11 @@
 
 from cpsskins import minjson as json
 from cpsskins.elements.interfaces import IType
-from cpsskins.setup.interfaces import ISettings, ISetting, IGlobalSetting
+from cpsskins.setup.interfaces import ISetting, IGlobalSetting
 from cpsskins.setup.interfaces import IDataExporter, IDataImporter
 from cpsskins.setup.interfaces import IResourceType, IResourceManager, 
IResource
 from cpsskins.setup.registration import reloadSetting, refreshSettings
+from cpsskins.setup.settings import ISettings
 from cpsskins.setup.utils import TarArchive
 from cpsskins.setup.snapshot import Snapshot
 from cpsskins.utils import getThemeManager
@@ -119,6 +120,19 @@
         exporter = getMultiAdapter((settings, request), IDataExporter)
         return exporter()
 
+    def importSettings(self, xml=u''):
+        """Import site settings
+        """
+        request = self.request
+
+        mgr = getThemeManager()
+        settings = getUtility(ISettings, context=context)
+
+        dom = parseString(xml)
+        importer = getMultiAdapter((mgr, request), IDataImporter, 
+                                   name=u'settings')
+        return importer.load(dom)
+
     ###################################################################
     # Site
     ###################################################################
@@ -149,7 +163,6 @@
         archive = TarArchive(mode='r', data=file.read())
 
         themes_data = archive[u'themes.xml']
-        settings_data = archive[u'settings.xml']
         displays_data = archive[u'displays.xml']
         portlets_data = archive[u'portlets.xml']
         relations_data = archive[u'relations.xml']
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to