[Python-Dev] Coernic Desktop Search versus shutil.rmtree (original) (raw)

Bob Ippolito bob at redivi.com
Fri Sep 3 18:58:46 CEST 2004


On Sep 2, 2004, at 9:30 PM, Tim Peters wrote:

[Aahz]

Question is, what happens when you use Explorer while Coernic is busy inside a folder? If it barfs, then I think it's reasonable for rmtree() to barf. Or are you saying that it's not possible to make that test? I didn't claim it was unreasonable for shutil.rmtree to barf, and I have no interest in making that test. As mentioned before, Copernic's use of the filesystem hooks drives CVS crazy too. It's a new app, and using the filesystem hooks transparently is a subtle undertaking. They'll fix it eventually.

It could very well be a bug in Windows, too. I think I ran across one last night.

Sometimes win32's os.stat(...) raises an exception for folders that do exist. The only case I ran into was an iPod though. The iPod is a 3rd generation 15gb (read: not a new click wheel), FAT32 formatted (fresh restore from the win32 iPod Updater) managed by iTunes with "Enable disk use" on, and is plugged into a laptop with a "low speed" USB port (I think 1.1, whatever was before 2.0). It is mounted as 'F:\' and it has several folders on the root (IIRC ['Notes', 'Calendars', 'Contacts', 'iPod_Control']). Nothing special about any of the folders, except iPod_Control which is attrib +h.

os.stat fails on EVERY folder except 'F:\iPod_Control'.
os.listdir('F:\') shows them all. win32api.GetFileAttributes works on all of these folders and returns just FILE_DIRECTORY (or whatever it's called, I don't have a win32 machine where I'm at right now; the constant is 16). iPod_Control probably returns a slightly different set of flags, I don't remember trying it.

os.stat('F:\Notes\Instructions') succeeds (Instructions is a file).

I believe this may be a bug in _wstat64i (name may be slightly wrong.. from memory) or something? I tried it on Windows XP (not SP2, but should be otherwise patched up) with the python.org distributions of Python 2.3.0 and Python 2.3.4 and got the same results both times.

-bob



More information about the Python-Dev mailing list