Log message for revision 80016:
  Collector #2358: backported fix making 'Products' package a real "namespace 
package" from the trunk.
  

Changed:
  U   Zope/branches/2.10/doc/CHANGES.txt
  U   Zope/branches/2.10/lib/python/OFS/Application.py
  U   Zope/branches/2.10/lib/python/Products/__init__.py

-=-
Modified: Zope/branches/2.10/doc/CHANGES.txt
===================================================================
--- Zope/branches/2.10/doc/CHANGES.txt  2007-09-25 15:05:57 UTC (rev 80015)
+++ Zope/branches/2.10/doc/CHANGES.txt  2007-09-25 15:13:02 UTC (rev 80016)
@@ -8,6 +8,9 @@
 
     Bugs fixed
 
+      - Collector #2358: backported fix making 'Products' package a real
+        "namespace package" from the trunk.
+
       - Collector #2287: form ':record' objects did not implement enough of
         the mapping interface.
 

Modified: Zope/branches/2.10/lib/python/OFS/Application.py
===================================================================
--- Zope/branches/2.10/lib/python/OFS/Application.py    2007-09-25 15:05:57 UTC 
(rev 80015)
+++ Zope/branches/2.10/lib/python/OFS/Application.py    2007-09-25 15:13:02 UTC 
(rev 80016)
@@ -634,9 +634,10 @@
                         folder_permissions, raise_exc=debug_mode)
 
     # Delayed install of packages-as-products
-    for module, init_func in Products._packages_to_initialize:
+    for module, init_func in getattr(Products, '_packages_to_initialize', []):
         install_package(app, module, init_func, raise_exc=debug_mode)
-    Products._packages_to_initialize = []
+    if hasattr(Products, '_packages_to_initialize'):
+        del Products._packages_to_initialize
 
     Products.meta_types=Products.meta_types+tuple(meta_types)
     InitializeClass(Folder.Folder)

Modified: Zope/branches/2.10/lib/python/Products/__init__.py
===================================================================
--- Zope/branches/2.10/lib/python/Products/__init__.py  2007-09-25 15:05:57 UTC 
(rev 80015)
+++ Zope/branches/2.10/lib/python/Products/__init__.py  2007-09-25 15:13:02 UTC 
(rev 80016)
@@ -12,7 +12,9 @@
 ##############################################################################
 __ac_permissions__=()
 
-# This is used to keep track of packages which need to be initialized as
-# products. These will be processed during the usual product installation
-# in OFS.Application
-_packages_to_initialize = []
\ No newline at end of file
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+    __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+    from pkgutil import extend_path
+    __path__ = extend_path(__path__, __name__)

_______________________________________________
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins

Reply via email to