diff --git a/Lib/ldap/cidict.py b/Lib/ldap/cidict.py index 68ac6f9..a9e6dee 100644 --- a/Lib/ldap/cidict.py +++ b/Lib/ldap/cidict.py @@ -6,10 +6,10 @@ See https://www.python-ldap.org/ for details. """ -__version__ = """$Revision: 1.16 $""" +__version__ = """$Revision: 1.17 $""" from UserDict import IterableUserDict -from string import lower + class cidict(IterableUserDict): """ @@ -22,15 +22,15 @@ def __init__(self,default=None): self.update(default or {}) def __getitem__(self,key): - return self.data[lower(key)] + return self.data[key.lower()] def __setitem__(self,key,value): - lower_key = lower(key) + lower_key = key.lower() self._keys[lower_key] = key self.data[lower_key] = value def __delitem__(self,key): - lower_key = lower(key) + lower_key = key.lower() del self._keys[lower_key] del self.data[lower_key] @@ -39,10 +39,10 @@ def update(self,dict): self[key] = dict[key] def has_key(self,key): - return IterableUserDict.has_key(self,lower(key)) + return key in self def __contains__(self,key): - return self.has_key(key) + return IterableUserDict.__contains__(self, key.lower()) def get(self,key,failobj=None): try: diff --git a/Tests/t_cidict.py b/Tests/t_cidict.py index ac56fd3..c8812f2 100644 --- a/Tests/t_cidict.py +++ b/Tests/t_cidict.py @@ -41,6 +41,7 @@ def test_cidict(self): del cix["abcdEF"] self.assertEqual("abcdef" in cix, False) self.assertEqual("AbCDef" in cix._keys, False) + self.assertEqual(cix.has_key("abcdef"), False) if __name__ == '__main__':