r13797 - in archetypes.configure/trunk: . archetypes/configure archetypes/configure/tests docs

"Malthe Borch" <[email protected]> Wed, 14 Sep 2011 08:34:29 +0000
Newsgroups gmane.comp.web.zope.plone.archetypes.cvs
Message-ID <[email protected]>
Author: mborch
Date: Wed Sep 14 08:34:28 2011
New Revision: 13797

Added:
   archetypes.configure/trunk/archetypes/configure/tests/
   archetypes.configure/trunk/archetypes/configure/tests/__init__.py
   archetypes.configure/trunk/archetypes/configure/tests/content.py
   archetypes.configure/trunk/archetypes/configure/tests/test_zcml.py
Modified:
   archetypes.configure/trunk/archetypes/configure/meta.zcml
   archetypes.configure/trunk/archetypes/configure/zcml.py
   archetypes.configure/trunk/docs/HISTORY.txt
   archetypes.configure/trunk/setup.py
Log:
Compatibility with Zope 2.13.

Modified: archetypes.configure/trunk/archetypes/configure/meta.zcml
==============================================================================
--- archetypes.configure/trunk/archetypes/configure/meta.zcml	(original)
+++ archetypes.configure/trunk/archetypes/configure/meta.zcml	Wed Sep 14 08:34:28 2011
@@ -2,6 +2,8 @@
     xmlns="http://namespaces.zope.org/zope"
     xmlns:meta="http://namespaces.zope.org/meta">
 
+  <include package="Products.Five" file="meta.zcml" />
+
   <meta:directives namespace="http://namespaces.plone.org/archetypes">
 
     <meta:directive

Added: archetypes.configure/trunk/archetypes/configure/tests/__init__.py
==============================================================================
--- (empty file)
+++ archetypes.configure/trunk/archetypes/configure/tests/__init__.py	Wed Sep 14 08:34:28 2011
@@ -0,0 +1 @@
+#

Added: archetypes.configure/trunk/archetypes/configure/tests/content.py
==============================================================================
--- (empty file)
+++ archetypes.configure/trunk/archetypes/configure/tests/content.py	Wed Sep 14 08:34:28 2011
@@ -0,0 +1 @@
+from Products.Archetypes.tests.test_classgen import Dummy

Added: archetypes.configure/trunk/archetypes/configure/tests/test_zcml.py
==============================================================================
--- (empty file)
+++ archetypes.configure/trunk/archetypes/configure/tests/test_zcml.py	Wed Sep 14 08:34:28 2011
@@ -0,0 +1,49 @@
+from Products.Archetypes.tests.atsitetestcase import ATSiteTestCase
+
+
+class ConfigurationTest(ATSiteTestCase):
+    example = '''
+    <configure
+        xmlns="http://namespaces.zope.org/zope"
+        xmlns:five="http://namespaces.zope.org/five"
+        xmlns:at="http://namespaces.plone.org/archetypes"
+        package="archetypes.configure.tests"
+        i18n_domain="test">
+
+      <include package="archetypes.configure" file="meta.zcml" />
+
+      <five:registerPackage package="." />
+
+      <permission id="dummy.Add" title="Add dummy" />
+
+      <at:register
+          class=".content.Dummy"
+          permission="dummy.Add"
+          />
+
+    </configure>
+    '''
+
+    def afterSetUp(self):
+        from Products.Archetypes.tests.test_classgen import gen_dummy
+        gen_dummy()
+
+    def test_example(self):
+        from zope.configuration.xmlconfig import xmlconfig
+        from StringIO import StringIO
+        xmlconfig(StringIO(self.example))
+
+        from OFS.Application import install_products
+        from archetypes.configure import tests as module
+        install_products(module)
+
+        from Products import meta_types
+
+        for fti in meta_types:
+            if fti['name'] == 'archetypes.configure.tests: Dummy':
+                break
+        else:
+            self.fail("Registration failed.")
+
+        self.assertEqual(fti['product'], 'archetypes.configure.tests')
+        self.assertEqual(fti['permission'], u'Add dummy')

Modified: archetypes.configure/trunk/archetypes/configure/zcml.py
==============================================================================
--- archetypes.configure/trunk/archetypes/configure/zcml.py	(original)
+++ archetypes.configure/trunk/archetypes/configure/zcml.py	Wed Sep 14 08:34:28 2011
@@ -1,15 +1,21 @@
-import Products
-import Products.Archetypes.atapi
-
 import zope.interface
 import zope.schema
 import zope.configuration.fields
 import zope.i18nmessageid
 
+import Products.Archetypes.atapi
+try:
+    from OFS.metaconfigure import get_packages_to_initialize
+except ImportError:
+    import Products
+
+    def get_packages_to_initialize():
+        return Products.__dict__.setdefault('_packages_to_initialize', [])
+
+
 from registry import Registration
 
 _ = zope.i18nmessageid.MessageFactory('archetypes')
-
 _add_permission = "cmf.AddPortalContent"
 
 
@@ -45,7 +51,7 @@
 def handler(product, package, class_, permission_id):
     Products.Archetypes.atapi.registerType(class_, product)
     registration = Registration(product, class_, permission_id)
-    to_initialize = Products.__dict__.setdefault('_packages_to_initialize', [])
+    to_initialize = get_packages_to_initialize()
     to_initialize.append((package, registration))
 
 

Modified: archetypes.configure/trunk/docs/HISTORY.txt
==============================================================================
--- archetypes.configure/trunk/docs/HISTORY.txt	(original)
+++ archetypes.configure/trunk/docs/HISTORY.txt	Wed Sep 14 08:34:28 2011
@@ -1,8 +1,12 @@
-Changelog
-=========
+Changes
+=======
+
+In next release ...
+
+* Compatibility with Zope 2.13.
+
 
 0.1 - 2010-12-01
 ----------------
 
 * Initial release
-

Modified: archetypes.configure/trunk/setup.py
==============================================================================
--- archetypes.configure/trunk/setup.py	(original)
+++ archetypes.configure/trunk/setup.py	Wed Sep 14 08:34:28 2011
@@ -2,7 +2,7 @@
 import os
 from setuptools import setup, find_packages
 
-version = "0.1"
+version = "0.2-dev"
 
 setup(name='archetypes.configure',
       version=version,

------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
Learn about the latest advances in developing for the 
BlackBerry&reg; mobile platform with sessions, labs & more.
See new tools and technologies. Register for BlackBerry&reg; DevCon today!
http://p.sf.net/sfu/rim-devcon-copy1