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