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