Florent wrote:

> I propose to patch the 'trunk' in order to allow removing of these packages.
> Here are the  proposed changes:
> - catch 'ImportError' when we make use of zope.app.skins
> - introduce ZCML feature 'deprecatedlayers' which is 'on' by default
>   and can be disabled
> - add a 'zcml:condition="have deprecatedlayers"' on each <layer> directive
> 


Below is the tested patch.

-- Florent



Index: zope/app/apidoc/browser/configure.zcml
===================================================================
--- zope/app/apidoc/browser/configure.zcml      (revision 70097)
+++ zope/app/apidoc/browser/configure.zcml      (working copy)
@@ -1,10 +1,12 @@
 <configure
     xmlns="http://namespaces.zope.org/browser";
     xmlns:zope="http://namespaces.zope.org/zope";
+    xmlns:zcml="http://namespaces.zope.org/zcml";
     i18n_domain="zope">
 
   <!-- BBB 2006/02/18, to be removed after 12 months -->
   <layer
+      zcml:condition="have deprecatedlayers"
       name="apidoc"
       interface=".skin.apidoc"
       bbb_aware="true"
Index: zope/app/apidoc/browser/skin.py
===================================================================
--- zope/app/apidoc/browser/skin.py     (revision 70078)
+++ zope/app/apidoc/browser/skin.py     (working copy)
@@ -27,5 +27,8 @@
     """The `APIDOC` skin."""
 
 # BBB 2006/02/18, to be removed after 12 months
-import zope.app.skins
-zope.app.skins.set('APIDOC', APIDOC)
+try:
+    import zope.app.skins
+    zope.app.skins.set('APIDOC', APIDOC)
+except ImportError:
+    pass
Index: zope/app/basicskin/__init__.py
===================================================================
--- zope/app/basicskin/__init__.py      (revision 70078)
+++ zope/app/basicskin/__init__.py      (working copy)
@@ -23,5 +23,8 @@
     nothing else"""
 
 # BBB 2006/02/18, to be removed after 12 months
-import zope.app.skins
-zope.app.skins.set('Basic', IBasicSkin)
+try:
+    import zope.app.skins
+    zope.app.skins.set('Basic', IBasicSkin)
+except ImportError:
+    pass
Index: zope/app/boston/__init__.py
===================================================================
--- zope/app/boston/__init__.py (revision 70078)
+++ zope/app/boston/__init__.py (working copy)
@@ -34,8 +34,11 @@
     """
 
 # BBB 2006/02/18, to be removed after 12 months
-import zope.app.skins
-zope.app.skins.set('Boston', Boston)
+try:
+    import zope.app.skins
+    zope.app.skins.set('Boston', Boston)
+except ImportError:
+    pass
 
 class IHead(IViewletManager):
     """Head viewlet manager."""
Index: zope/app/boston/configure.zcml
===================================================================
--- zope/app/boston/configure.zcml      (revision 70078)
+++ zope/app/boston/configure.zcml      (working copy)
@@ -7,6 +7,7 @@
 
   <!-- BBB 2006/02/18, to be removed after 12 months -->
   <layer
+      zcml:condition="have deprecatedlayers"
       name="boston"
       interface="zope.app.boston.boston"
       bbb_aware="true"
Index: zope/app/css/__init__.py
===================================================================
--- zope/app/css/__init__.py    (revision 70078)
+++ zope/app/css/__init__.py    (working copy)
@@ -31,5 +31,8 @@
     """
 
 # BBB 2006/02/18, to be removed after 12 months
-import zope.app.skins
-zope.app.skins.set('CSS', CSS)
+try:
+    import zope.app.skins
+    zope.app.skins.set('CSS', CSS)
+except ImportError:
+    pass
Index: zope/app/css/configure.zcml
===================================================================
--- zope/app/css/configure.zcml (revision 70097)
+++ zope/app/css/configure.zcml (working copy)
@@ -1,9 +1,11 @@
 <configure
     xmlns="http://namespaces.zope.org/zope";
-    xmlns:browser="http://namespaces.zope.org/browser";>
+    xmlns:browser="http://namespaces.zope.org/browser";
+    xmlns:zcml="http://namespaces.zope.org/zcml";>
 
   <!-- BBB 2006/02/18, to be removed after 12 months -->
   <browser:layer
+      zcml:condition="have deprecatedlayers"
       name="css"
       interface="zope.app.css.layer"
       bbb_aware="true"
Index: zope/app/debugskin/__init__.py
===================================================================
--- zope/app/debugskin/__init__.py      (revision 70078)
+++ zope/app/debugskin/__init__.py      (working copy)
@@ -26,5 +26,8 @@
     """Rotterdam-based skin with debug functionality"""
 
 # BBB 2006/02/18, to be removed after 12 months
-import zope.app.skins
-zope.app.skins.set('Debug', IDebugSkin)
+try:
+    import zope.app.skins
+    zope.app.skins.set('Debug', IDebugSkin)
+except ImportError:
+    pass
Index: zope/app/debugskin/configure.zcml
===================================================================
--- zope/app/debugskin/configure.zcml   (revision 70078)
+++ zope/app/debugskin/configure.zcml   (working copy)
@@ -1,10 +1,12 @@
 <configure
     xmlns="http://namespaces.zope.org/browser";
     xmlns:zope="http://namespaces.zope.org/zope";
+    xmlns:zcml="http://namespaces.zope.org/zcml";
     >
 
   <!-- BBB 2006/02/18, to be removed after 12 months -->
   <layer
+      zcml:condition="have deprecatedlayers"
       interface=".IDebugLayer"
       name="debug"
       bbb_aware="true"
Index: zope/app/layers/meta.zcml
===================================================================
--- zope/app/layers/meta.zcml   (revision 0)
+++ zope/app/layers/meta.zcml   (revision 0)
@@ -0,0 +1,3 @@
+<configure xmlns:meta="http://namespaces.zope.org/meta";>
+  <meta:provides feature="deprecatedlayers" />
+</configure>

Modification de propriétés sur zope\app\layers\meta.zcml
___________________________________________________________________
Nom : svn:eol-style
   + native

Index: zope/app/layers/SETUP.cfg
===================================================================
--- zope/app/layers/SETUP.cfg   (revision 0)
+++ zope/app/layers/SETUP.cfg   (revision 0)
@@ -0,0 +1,5 @@
+# Tell zpkg how to install the ZCML slugs.
+
+<data-files zopeskel/etc/package-includes>
+  zope.app.layers-*.zcml
+</data-files>
Index: zope/app/layers/zope.app.layers-meta.zcml
===================================================================
--- zope/app/layers/zope.app.layers-meta.zcml   (revision 0)
+++ zope/app/layers/zope.app.layers-meta.zcml   (revision 0)
@@ -0,0 +1 @@
+<include package="zope.app.layers" file="meta.zcml" />

Modification de propriétés sur zope\app\layers\zope.app.layers-meta.zcml
___________________________________________________________________
Nom : svn:eol-style
   + native

Index: zope/app/publisher/browser/configure.zcml
===================================================================
--- zope/app/publisher/browser/configure.zcml   (revision 70078)
+++ zope/app/publisher/browser/configure.zcml   (working copy)
@@ -1,6 +1,7 @@
 <configure
    xmlns="http://namespaces.zope.org/zope";
-   xmlns:browser="http://namespaces.zope.org/browser";>
+   xmlns:browser="http://namespaces.zope.org/browser";
+   xmlns:zcml="http://namespaces.zope.org/zcml";>
 
 <interface
   interface="zope.app.publisher.interfaces.browser.IMenuItemType" />
@@ -12,6 +13,7 @@
 
 <!-- BBB 2006/02/18, to be removed after 12 months -->
 <browser:layer
+    zcml:condition="have deprecatedlayers"
     name="default"
     interface="zope.publisher.interfaces.browser.IDefaultBrowserLayer"
     bbb_aware="true"
Index: zope/app/publisher/browser/meta.zcml
===================================================================
--- zope/app/publisher/browser/meta.zcml        (revision 70078)
+++ zope/app/publisher/browser/meta.zcml        (working copy)
@@ -1,6 +1,7 @@
 <configure
     xmlns="http://namespaces.zope.org/zope";
-    xmlns:meta="http://namespaces.zope.org/meta";>
+    xmlns:meta="http://namespaces.zope.org/meta";
+    xmlns:zcml="http://namespaces.zope.org/zcml";>
 
   <meta:directives namespace="http://namespaces.zope.org/browser";>
 
@@ -129,6 +130,7 @@
 
     <!-- BBB 2006/02/18, to be removed after 12 months -->
     <meta:directive
+        zcml:condition="have deprecatedlayers"
         name="layer"
         schema=".metadirectives.ILayerDirective"
         handler=".metaconfigure.layer"
@@ -136,6 +138,7 @@
 
     <!-- BBB 2006/02/18, to be removed after 12 months -->
     <meta:directive
+        zcml:condition="have deprecatedlayers"
         name="skin"
         schema=".metadirectives.ISkinDirective"
         handler=".metaconfigure.skin"
Index: zope/app/publisher/browser/metaconfigure.py
===================================================================
--- zope/app/publisher/browser/metaconfigure.py (revision 70078)
+++ zope/app/publisher/browser/metaconfigure.py (working copy)
@@ -25,7 +25,7 @@
 from zope.publisher.interfaces.browser import IBrowserRequest, IDefaultSkin
 from zope.publisher.interfaces.browser import IBrowserSkinType
 
-from zope.app import zapi, layers, skins
+from zope.app import zapi
 
 # referred to through ZCML
 from zope.app.publisher.browser.resourcemeta import resource
@@ -142,6 +142,7 @@
 
     >>> warnings.showwarning = showwarning
     """
+    from zope.app import layers
     if name is not None and ',' in name:
         raise TypeError("Commas are not allowed in layer names.")
     if name is None and interface is None: 
@@ -286,6 +287,7 @@
     Enabling the warnings again:
     >>> warnings.showwarning = showwarning
     """
+    from zope.app import skins
     if name is None and interface is None: 
         raise ConfigurationError(
             "You must specify the 'name' or 'interface' attribute.")
Index: zope/app/rotterdam/__init__.py
===================================================================
--- zope/app/rotterdam/__init__.py      (revision 70078)
+++ zope/app/rotterdam/__init__.py      (working copy)
@@ -29,5 +29,8 @@
     """
 
 # BBB 2006/02/18, to be removed after 12 months
-import zope.app.skins
-zope.app.skins.set('Rotterdam', Rotterdam)
+try:
+    import zope.app.skins
+    zope.app.skins.set('Rotterdam', Rotterdam)
+except ImportError:
+    pass
Index: zope/app/rotterdam/configure.zcml
===================================================================
--- zope/app/rotterdam/configure.zcml   (revision 70078)
+++ zope/app/rotterdam/configure.zcml   (working copy)
@@ -1,9 +1,11 @@
 <configure
     xmlns="http://namespaces.zope.org/zope";
-    xmlns:browser="http://namespaces.zope.org/browser";>
+    xmlns:browser="http://namespaces.zope.org/browser";
+    xmlns:zcml="http://namespaces.zope.org/zcml";>
 
   <!-- BBB 2006/02/18, to be removed after 12 months -->
   <browser:layer
+      zcml:condition="have deprecatedlayers"
       name="rotterdam"
       interface="zope.app.rotterdam.rotterdam"
       bbb_aware="true"
Index: zope/app/tree/browser/__init__.py
===================================================================
--- zope/app/tree/browser/__init__.py   (revision 70078)
+++ zope/app/tree/browser/__init__.py   (working copy)
@@ -33,8 +33,11 @@
     navigation macro."""
 
 # BBB 2006/02/18, to be removed after 12 months
-import zope.app.skins
-zope.app.skins.set('StaticTree', IStaticTreeSkin)
+try:
+    import zope.app.skins
+    zope.app.skins.set('StaticTree', IStaticTreeSkin)
+except ImportError:
+    pass
 
 class StatefulTreeView(BrowserView):
 
Index: zope/app/tree/browser/configure.zcml
===================================================================
--- zope/app/tree/browser/configure.zcml        (revision 70078)
+++ zope/app/tree/browser/configure.zcml        (working copy)
@@ -1,6 +1,7 @@
 <configure
     xmlns="http://namespaces.zope.org/zope";
     xmlns:browser="http://namespaces.zope.org/browser";
+    xmlns:zcml="http://namespaces.zope.org/zcml";
     i18n_domain="zope"
     >
 
@@ -43,6 +44,7 @@
 
   <!-- BBB 2006/02/18, to be removed after 12 months -->
   <browser:layer
+      zcml:condition="have deprecatedlayers"
       interface=".IStaticTreeLayer"
       name="statictree"
       bbb_aware="true"
Index: zope/app/zopetop/__init__.py
===================================================================
--- zope/app/zopetop/__init__.py        (revision 70078)
+++ zope/app/zopetop/__init__.py        (working copy)
@@ -37,5 +37,8 @@
     """
 
 # BBB 2006/02/18, to be removed after 12 months
-import zope.app.skins
-zope.app.skins.set('ZopeTop', ZopeTop)
+try:
+    import zope.app.skins
+    zope.app.skins.set('ZopeTop', ZopeTop)
+except ImportError:
+    pass


_______________________________________________
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to