26 lines
800 B
Python
26 lines
800 B
Python
# encoding: utf-8
|
|
|
|
"""
|
|
Objects shared by modules in the pptx.opc sub-package
|
|
"""
|
|
|
|
from __future__ import absolute_import, print_function, unicode_literals
|
|
|
|
|
|
class CaseInsensitiveDict(dict):
|
|
"""
|
|
Mapping type that behaves like dict except that it matches without respect
|
|
to the case of the key. E.g. cid['A'] == cid['a']. Note this is not
|
|
general-purpose, just complete enough to satisfy opc package needs. It
|
|
assumes str keys for example.
|
|
"""
|
|
|
|
def __contains__(self, key):
|
|
return super(CaseInsensitiveDict, self).__contains__(key.lower())
|
|
|
|
def __getitem__(self, key):
|
|
return super(CaseInsensitiveDict, self).__getitem__(key.lower())
|
|
|
|
def __setitem__(self, key, value):
|
|
return super(CaseInsensitiveDict, self).__setitem__(key.lower(), value)
|