[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/ - changed debug mode behavior (https://bugs.launchpad.net/zope-cmf/+bug/271027)
Yvo Schubbe
y.2011 at wcm-solutions.de
Tue Feb 8 05:47:13 EST 2011
Log message for revision 120198:
- changed debug mode behavior (https://bugs.launchpad.net/zope-cmf/+bug/271027)
Changed:
U Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
U Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py
U Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py
-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt 2011-02-08 10:45:12 UTC (rev 120197)
+++ Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt 2011-02-08 10:47:12 UTC (rev 120198)
@@ -4,6 +4,11 @@
2.3.0-alpha (unreleased)
------------------------
+- DirectoryView: Changed debug mode behavior.
+ No additional subdirs are registered in debug mode. If you add new subdirs,
+ you have to restart your instance.
+ (https://bugs.launchpad.net/zope-cmf/+bug/271027)
+
- DirectoryView: Improved debug mode speed on NTFS partitions.
The much faster non-Windows implementation is now used on Windows as well if
non-FAT32 time stamps are detected. In rare cases that heuristic approach
Modified: Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py 2011-02-08 10:45:12 UTC (rev 120197)
+++ Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py 2011-02-08 10:47:12 UTC (rev 120198)
@@ -189,8 +189,7 @@
changed = self._changed()
if self.data is None or changed:
try:
- self.data, self.objects = self.prepareContents(registry,
- register_subdirs=changed)
+ self.data, self.objects = self.prepareContents(registry)
except:
logger.exception("Error during prepareContents")
self.data = {}
@@ -198,7 +197,7 @@
return self.data, self.objects
- def prepareContents(self, registry, register_subdirs=0):
+ def prepareContents(self, registry):
# Creates objects for each file.
data = {}
objects = []
@@ -208,15 +207,9 @@
continue
entry_filepath = os.path.join(self._filepath, entry)
if os.path.isdir(entry_filepath):
- # Add a subdirectory only if it was previously registered,
- # unless register_subdirs is set.
+ # Add a subdirectory only if it was previously registered.
entry_reg_key = '/'.join((self._reg_key, entry))
info = registry.getDirectoryInfo(entry_reg_key)
- if info is None and register_subdirs:
- # Register unknown subdirs
- registry.registerDirectoryByKey(entry_filepath,
- entry_reg_key)
- info = registry.getDirectoryInfo(entry_reg_key)
if info is not None:
# Folders on the file system have no extension or
# meta_type, as a crutch to enable customizing what gets
Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py 2011-02-08 10:45:12 UTC (rev 120197)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_DirectoryView.py 2011-02-08 10:47:12 UTC (rev 120198)
@@ -240,7 +240,7 @@
getConfiguration().debug_mode = True
self.test1path = join(self.skin_path_name,'test1.py')
self.test2path = join(self.skin_path_name,'test2.py')
- self.test3path = join(self.skin_path_name,'test3')
+ self.testdpath = join(self.skin_path_name,'test_directory')
# initialise skins
self._registerDirectory(self)
@@ -252,7 +252,7 @@
self._writeFile(self.test1path, "return 'new test1'")
# add a new folder
- mkdir(self.test3path)
+ mkdir(join(self.skin_path_name,'test3'))
info = _dirreg.getDirectoryInfo(self.ob.fake_skin._dirpath)
info.reload()
@@ -270,13 +270,6 @@
# See if an edited method exhibits its new behaviour
self.assertEqual(self.ob.fake_skin.test1(),'new test1')
- def test_NewFolder( self ):
- # See if a new folder shows up
- from Products.CMFCore.DirectoryView import DirectoryViewSurrogate
- self.failUnless(isinstance(self.ob.fake_skin.test3,
- DirectoryViewSurrogate))
- self.ob.fake_skin.test3.objectIds()
-
def test_DeleteMethod( self ):
# Make sure a deleted method goes away
remove(self.test2path)
@@ -303,10 +296,15 @@
# check
self.assertEqual(self.ob.fake_skin.test2(),'test2.3')
- def test_DeleteFolder( self ):
+ def test_NewFolder(self):
+ # See if a new folder shows up
+ self.failIf(hasattr(self.ob.fake_skin, 'test3'))
+
+ def test_DeleteFolder(self):
# Make sure a deleted folder goes away
- rmdir(self.test3path)
- self.failIf(hasattr(self.ob.fake_skin,'test3'))
+ self.failUnless(hasattr(self.ob.fake_skin, 'test_directory'))
+ rmdir(self.testdpath)
+ self.failIf(hasattr(self.ob.fake_skin, 'test_directory'))
def test_suite():
More information about the checkins
mailing list