summaryrefslogtreecommitdiff
path: root/Lib/filecmp.py
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2003-09-02 05:42:02 +0000
committerRaymond Hettinger <python@rcn.com>2003-09-02 05:42:02 +0000
commit7f8c644c91c52a25afb7491ca5d2e84049aabcec (patch)
treefe69a7642ec93e5bd40062125255247e08fc1ec6 /Lib/filecmp.py
parent3085eea8558b0fd13c0b59d2dc6211ebb66558c6 (diff)
downloadcpython-7f8c644c91c52a25afb7491ca5d2e84049aabcec.tar.gz
SF bug #453515: filecmp.dircmp case sensitivity bug
Diffstat (limited to 'Lib/filecmp.py')
-rw-r--r--Lib/filecmp.py12
1 files changed, 6 insertions, 6 deletions
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 = []