summaryrefslogtreecommitdiffstats
path: root/Lib/filecmp.py
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2003-09-02 05:42:02 (GMT)
committerRaymond Hettinger <python@rcn.com>2003-09-02 05:42:02 (GMT)
commiteeca37e0b5a86bc8113f9f51cace145a71c56dd4 (patch)
tree7fdea651897ba52a430720ab4d11a44e140094dd /Lib/filecmp.py
parent09c7b6075cf51d5438c76a19ad244b663d4cf048 (diff)
downloadcpython-eeca37e0b5a86bc8113f9f51cace145a71c56dd4.zip
cpython-eeca37e0b5a86bc8113f9f51cace145a71c56dd4.tar.gz
cpython-eeca37e0b5a86bc8113f9f51cace145a71c56dd4.tar.bz2
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 321ae0c..089c667 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 = []