[Zope-Checkins] SVN: Zope/trunk/ Fixed OFS.ObjectManager
list_import() to tolerate missing directories.
Paul Winkler
pw_lists at slinkp.com
Mon Dec 12 15:55:47 EST 2005
Log message for revision 40754:
Fixed OFS.ObjectManager list_import() to tolerate missing directories.
Changed:
U Zope/trunk/doc/CHANGES.txt
U Zope/trunk/lib/python/OFS/ObjectManager.py
U Zope/trunk/lib/python/OFS/tests/testObjectManager.py
-=-
Modified: Zope/trunk/doc/CHANGES.txt
===================================================================
--- Zope/trunk/doc/CHANGES.txt 2005-12-12 20:42:18 UTC (rev 40753)
+++ Zope/trunk/doc/CHANGES.txt 2005-12-12 20:55:46 UTC (rev 40754)
@@ -115,6 +115,9 @@
Bugs Fixed
+ - OFS ObjectManager: Fixed list_imports() to tolerate missing
+ import directories.
+
- Collector #1621, 1894: Removed support for use of long-deprecated
'whrandom' module.
Modified: Zope/trunk/lib/python/OFS/ObjectManager.py
===================================================================
--- Zope/trunk/lib/python/OFS/ObjectManager.py 2005-12-12 20:42:18 UTC (rev 40753)
+++ Zope/trunk/lib/python/OFS/ObjectManager.py 2005-12-12 20:55:46 UTC (rev 40754)
@@ -625,6 +625,8 @@
paths.append(cfg.instancehome)
for impath in paths:
directory = os.path.join(impath, 'import')
+ if not os.path.isdir(directory):
+ continue
listing += [f for f in os.listdir(directory)
if f.endswith('.zexp') or f.endswith('.xml')]
return listing
Modified: Zope/trunk/lib/python/OFS/tests/testObjectManager.py
===================================================================
--- Zope/trunk/lib/python/OFS/tests/testObjectManager.py 2005-12-12 20:42:18 UTC (rev 40753)
+++ Zope/trunk/lib/python/OFS/tests/testObjectManager.py 2005-12-12 20:55:46 UTC (rev 40754)
@@ -108,7 +108,6 @@
self.assertEqual( si.__ac_local_roles__, None )
def test_setObject_set_owner_with_emergency_user( self ):
-
om = self._makeOne()
newSecurityManager( None, emergency_user )
@@ -380,6 +379,16 @@
self.assertRaises(BadRequest, om._setObject, 'REQUEST', si)
self.assertRaises(BadRequest, om._setObject, '/', si)
+ def test_list_imports(self):
+ om = self._makeOne()
+ # This must work whether we've done "make instance" or not.
+ # So list_imports() may return an empty list, or whatever's
+ # in skel/import. Tolerate both cases.
+ self.failUnless(isinstance(om.list_imports(), list))
+ for filename in om.list_imports():
+ self.failUnless(filename.endswith('.zexp') or
+ filename.endswith('.xml'))
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest( unittest.makeSuite( ObjectManagerTests ) )
More information about the Zope-Checkins
mailing list