[Checkins] SVN: Products.GenericSetup/trunk/Products/GenericSetup/
Provide default for dependencies when processing metadata.xml,
to avoid a
Tres Seaver
tseaver at palladion.com
Wed Aug 6 12:49:51 EDT 2008
Log message for revision 89453:
Provide default for dependencies when processing metadata.xml, to avoid a
KeyError. (https://bugs.launchpad.net/zope-cmf/+bug/255301)
Changed:
U Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt
U Products.GenericSetup/trunk/Products/GenericSetup/metadata.py
U Products.GenericSetup/trunk/Products/GenericSetup/tests/test_profile_metadata.py
-=-
Modified: Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt 2008-08-06 16:49:19 UTC (rev 89452)
+++ Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt 2008-08-06 16:49:49 UTC (rev 89453)
@@ -4,6 +4,10 @@
GenericSetup 1.5.0 (unreleased)
-------------------------------
+- Provide default for dependencies when processing metadata.xml, to
+ avoid a KeyError.
+ (https://bugs.launchpad.net/zope-cmf/+bug/255301)
+
- Handle utility factories cleanly if zope.component >=3.5.0 is used.
- tool and utils: Removed deprecated code.
Modified: Products.GenericSetup/trunk/Products/GenericSetup/metadata.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/metadata.py 2008-08-06 16:49:19 UTC (rev 89452)
+++ Products.GenericSetup/trunk/Products/GenericSetup/metadata.py 2008-08-06 16:49:49 UTC (rev 89453)
@@ -12,7 +12,7 @@
##############################################################################
""" GenericSetup profile metadata
-$Id:$
+$Id$
"""
import os
@@ -66,7 +66,7 @@
{ '#text': { KEY: None },
},
'dependencies':
- {'dependency': { KEY: None },},
+ {'dependency': { KEY: None, DEFAULT: () },},
'dependency':
{ '#text': { KEY: None },
},
Modified: Products.GenericSetup/trunk/Products/GenericSetup/tests/test_profile_metadata.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/tests/test_profile_metadata.py 2008-08-06 16:49:19 UTC (rev 89452)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tests/test_profile_metadata.py 2008-08-06 16:49:49 UTC (rev 89453)
@@ -45,6 +45,20 @@
'dependencies': (dep1, dep2),
}
+_METADATA_EMPTY_DEPENDENCIES_XML = """<?xml version="1.0"?>
+<metadata>
+ <description>%s</description>
+ <version>%s</version>
+ <dependencies></dependencies>
+</metadata>
+""" % (desc, version)
+
+_METADATA_MAP_EMPTY_DEPENDENCIES = {
+ 'description': desc,
+ 'version': version,
+ 'dependencies': (),
+ }
+
class ProfileMetadataTests( ZopeTestCase ):
installProduct('GenericSetup')
@@ -65,6 +79,12 @@
self.assertEqual(profile_info['description'],
'Description from metadata')
+ def test_parseXML_empty_dependencies(self):
+ # https://bugs.launchpad.net/bugs/255301
+ metadata = ProfileMetadata( '')
+ parsed = metadata.parseXML(_METADATA_EMPTY_DEPENDENCIES_XML)
+ self.assertEqual(parsed, _METADATA_MAP_EMPTY_DEPENDENCIES)
+
def test_suite():
return unittest.TestSuite((
unittest.makeSuite( ProfileMetadataTests ),
More information about the Checkins
mailing list