aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/pptx/opc/shared.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/pptx/opc/shared.py')
-rw-r--r--.venv/lib/python3.12/site-packages/pptx/opc/shared.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/pptx/opc/shared.py b/.venv/lib/python3.12/site-packages/pptx/opc/shared.py
new file mode 100644
index 00000000..cc7fce8c
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/pptx/opc/shared.py
@@ -0,0 +1,20 @@
+"""Objects shared by modules in the pptx.opc sub-package."""
+
+from __future__ import annotations
+
+
+class CaseInsensitiveDict(dict):
+ """Mapping type like dict except it matches key without respect to case.
+
+ For example, D['A'] == D['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)