From 7f8c644c91c52a25afb7491ca5d2e84049aabcec Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 2 Sep 2003 05:42:02 +0000 Subject: SF bug #453515: filecmp.dircmp case sensitivity bug --- Lib/filecmp.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'Lib/filecmp.py') diff --git a/Lib/filecmp.py b/Lib/filecmp.py index 321ae0cbc5..089c667496 100644 --- a/Lib/filecmp.py +++ b/Lib/filecmp.py @@ -12,7 +12,7 @@ Functions: import os import stat import warnings -from itertools import ifilter, ifilterfalse +from itertools import ifilter, ifilterfalse, imap, izip __all__ = ["cmp","dircmp","cmpfiles"] @@ -135,11 +135,11 @@ class dircmp: self.right_list.sort() def phase1(self): # Compute common names - b = dict.fromkeys(self.right_list) - common = dict.fromkeys(ifilter(b.has_key, self.left_list)) - self.left_only = list(ifilterfalse(common.has_key, self.left_list)) - self.right_only = list(ifilterfalse(common.has_key, self.right_list)) - self.common = common.keys() + a = dict(izip(imap(os.path.normcase, self.left_list), self.left_list)) + b = dict(izip(imap(os.path.normcase, self.right_list), self.right_list)) + self.common = map(a.__getitem__, ifilter(b.has_key, a)) + self.left_only = map(a.__getitem__, ifilterfalse(b.has_key, a)) + self.right_only = map(b.__getitem__, ifilterfalse(a.has_key, b)) def phase2(self): # Distinguish files, directories, funnies self.common_dirs = [] -- cgit v1.2.1