[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/ revert windows patch
Nikolay Kim
fafhrd91 at gmail.com
Fri Feb 4 11:03:51 EST 2011
Log message for revision 120101:
revert windows patch
Changed:
U Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
U Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py
-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt 2011-02-04 15:19:37 UTC (rev 120100)
+++ Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt 2011-02-04 16:03:51 UTC (rev 120101)
@@ -74,9 +74,7 @@
- DirectoryView: Removed support for deprecated old API.
-- DirectoryView: Removed os.path.walk call in windows development mode
-
2.2.0-beta (2009-12-06)
-----------------------
Modified: Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py 2011-02-04 15:19:37 UTC (rev 120100)
+++ Products.CMFCore/trunk/Products/CMFCore/DirectoryView.py 2011-02-04 16:03:51 UTC (rev 120101)
@@ -11,6 +11,8 @@
#
##############################################################################
""" Views of filesystem directories as folders.
+
+$Id: DirectoryView.py 110418 2010-04-01 17:10:54Z tseaver $
"""
import logging
@@ -105,6 +107,7 @@
class DirectoryInformation:
data = None
_v_last_read = 0
+ _v_last_filelist = [] # Only used on Win32
def __init__(self, filepath, reg_key, ignore=ignore):
self._filepath = filepath
@@ -156,13 +159,23 @@
if not getConfiguration().debug_mode:
return 0
mtime=0
+ filelist=[]
try:
mtime = os.stat(self._filepath)[8]
+ if platform == 'win32':
+ # some Windows directories don't change mtime
+ # when a file is added to or deleted from them :-(
+ # So keep a list of files as well, and see if that
+ # changes
+ os.path.walk(self._filepath, self._walker, filelist)
+ filelist.sort()
except:
logger.exception("Error checking for directory modification")
- if mtime != self._v_last_read:
+ if mtime != self._v_last_read or filelist != self._v_last_filelist:
self._v_last_read = mtime
+ self._v_last_filelist = filelist
+
return 1
return 0
More information about the checkins
mailing list