[Zope-Checkins] SVN: Zope/trunk/ - removed deprecated support for '__ac_permissions__' and 'meta_types'

Yvo Schubbe y.2006_ at wcm-solutions.de
Thu Jun 22 09:06:31 EDT 2006


Log message for revision 68789:
  - removed deprecated support for '__ac_permissions__' and 'meta_types'

Changed:
  U   Zope/trunk/doc/CHANGES.txt
  U   Zope/trunk/lib/python/OFS/Application.py

-=-
Modified: Zope/trunk/doc/CHANGES.txt
===================================================================
--- Zope/trunk/doc/CHANGES.txt	2006-06-22 13:03:27 UTC (rev 68788)
+++ Zope/trunk/doc/CHANGES.txt	2006-06-22 13:06:30 UTC (rev 68789)
@@ -18,6 +18,9 @@
 
     Restructuring
 
+      - Removed deprecated support for product initialization based on
+        '__ac_permissions__' and 'meta_types' attributes.
+
       - removed zLOG module which was deprecated since Zope 2.9
 
     Features added

Modified: Zope/trunk/lib/python/OFS/Application.py
===================================================================
--- Zope/trunk/lib/python/OFS/Application.py	2006-06-22 13:03:27 UTC (rev 68788)
+++ Zope/trunk/lib/python/OFS/Application.py	2006-06-22 13:06:30 UTC (rev 68789)
@@ -778,57 +778,35 @@
                 product, product_name, package_dir, app)
             context=ProductContext(productObject, app, product)
 
-            # Look for an 'initialize' method in the product. If it does
-            # not exist, then this is an old product that has never been
-            # updated. In that case, we will analyze the product and
-            # build up enough information to do initialization manually.
+            # Look for an 'initialize' method in the product.
             initmethod=pgetattr(product, 'initialize', None)
             if initmethod is not None:
                 initmethod(context)
 
-            # Support old-style product metadata. Older products may
-            # define attributes to name their permissions, meta_types,
-            # constructors, etc.
             permissions={}
             new_permissions={}
             if pgetattr(product, '__ac_permissions__', None) is not None:
-                warn('__init__.py of %s has a long deprecated '
-                     '\'__ac_permissions__\' attribute. '
-                     '\'__ac_permissions__\' will be ignored by '
-                     'install_product in Zope 2.10. Please use registerClass '
-                     'instead.' % product.__name__,
+                warn("__init__.py of %s has a long deprecated "
+                     "'__ac_permissions__' attribute. '__ac_permissions__' "
+                     "is now ignored by install_product. Please use "
+                     "registerClass instead."
+                     % product.__name__,
                      DeprecationWarning)
-            for p in pgetattr(product, '__ac_permissions__', ()):
-                permission, names, default = (
-                    tuple(p)+('Manager',))[:3]
-                if names:
-                    for name in names:
-                        permissions[name]=permission
-                elif not folder_permissions.has_key(permission):
-                    new_permissions[permission]=()
 
             if pgetattr(product, 'meta_types', None) is not None:
-                warn('__init__.py of %s has a long deprecated \'meta_types\' '
-                     'attribute. \'meta_types\' will be ignored by '
-                     'install_product in Zope 2.10. Please use registerClass '
-                     'instead.' % product.__name__,
+                warn("__init__.py of %s has a long deprecated 'meta_types' "
+                     "attribute. 'meta_types' is now ignored by "
+                     "install_product. Please use registerClass instead."
+                     % product.__name__,
                      DeprecationWarning)
-            for meta_type in pgetattr(product, 'meta_types', ()):
-                # Modern product initialization via a ProductContext
-                # adds 'product' and 'permission' keys to the meta_type
-                # mapping. We have to add these here for old products.
-                pname=permissions.get(meta_type['action'], None)
-                if pname is not None:
-                    meta_type['permission']=pname
-                meta_type['product']=productObject.id
-                meta_type['visibility'] = 'Global'
-                meta_types.append(meta_type)
 
             if pgetattr(product, 'methods', None) is not None:
-                warn('__init__.py of %s has a long deprecated \'methods\' '
-                     'attribute. \'methods\' will be ignored by '
-                     'install_product in Zope 2.10. Please use registerClass '
-                     'instead.' % product.__name__,
+                warn("__init__.py of %s has a long deprecated 'methods' "
+                     "attribute. 'methods' support might be removed in Zope "
+                     "2.11 or a later feature release. Please use the "
+                     "'legacy' argument of registerClass instead if the "
+                     "methods are constructors. Or refactor the product "
+                     "using adapters." % product.__name__,
                      DeprecationWarning)
             for name,method in pgetattr(
                 product, 'methods', {}).items():



More information about the Zope-Checkins mailing list