Author: jmorliaguet
Date: Sat May 13 19:15:47 2006
New Revision: 3123

Modified:
   cpsskins/branches/paris-sprint-2006/setup/io/utils.py

Log:

- forgot to import settings



Modified: cpsskins/branches/paris-sprint-2006/setup/io/utils.py
==============================================================================
--- cpsskins/branches/paris-sprint-2006/setup/io/utils.py       (original)
+++ cpsskins/branches/paris-sprint-2006/setup/io/utils.py       Sat May 13 
19:15:47 2006
@@ -44,6 +44,9 @@
     # themes
     uri_mapping.update(importThemes(archive, context))
 
+    # settings
+    uri_mapping.update(importSettings(archive, context))
+
     # storages
     for name in u'formats', u'displays', u'portlets':
         uri_mapping.update(importStorage(name, archive, context))
@@ -232,3 +235,34 @@
 
     return document.toprettyxml(indent=u'  ', encoding=u'utf-8')
 
+def importSettings(archive=None, context=None):
+    """Import settings from the archive
+    """
+    document = parseString(archive[u'settings.xml'])
+    root = document.documentElement
+
+    uri_mapping = {}
+
+    mgr = getThemeManager(context)
+    settings = mgr.getSettings()
+    #settings.purge()
+
+    for el in root.getElementsByTagName(u'settings'):
+        if el.nodeType != Node.ELEMENT_NODE:
+             continue
+
+        setting = createObject(u'cpsskins.setting')
+        settings.add(setting)
+
+        importer = getMultiAdapter((setting, el), IDOMAdapter)
+        importer.archive = archive
+        importer.document = document
+        importer.object_type = typename
+        importer.updateURIMapping()
+        importer.load()
+
+        uri_mapping.update(importer.mapping)
+
+    document.unlink()
+    return uri_mapping
+
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to