#!/usr/bin/python2.4 import types class CaselessDictionary(dict): def __setitem__(self, key, value): if isinstance(key, types.StringTypes): key = key.lower() dict.__setitem__(self, key.lower(), value) def __delitem__(self, key): if isinstance(key, types.StringTypes): key = key.lower() dict.__delitem__(self, key.lower()) def __getitem__(self, key): if isinstance(key, types.StringTypes): key = key.lower() return dict.__getitem__(self, key.lower()) import code code.interact(local=CaselessDictionary())