summaryrefslogtreecommitdiff
path: root/openerp/tools/misc.py
diff options
context:
space:
mode:
Diffstat (limited to 'openerp/tools/misc.py')
-rw-r--r--openerp/tools/misc.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py
index e5d8190a4d2..fbdd32e7cb1 100644
--- a/openerp/tools/misc.py
+++ b/openerp/tools/misc.py
@@ -1212,6 +1212,23 @@ def dumpstacks(sig=None, frame=None):
_logger.info("\n".join(code))
+class frozendict(dict):
+ """ An implementation of an immutable dictionary. """
+ def __delitem__(self, key):
+ raise NotImplementedError("'__delitem__' not supported on frozendict")
+ def __setitem__(self, key, val):
+ raise NotImplementedError("'__setitem__' not supported on frozendict")
+ def clear(self):
+ raise NotImplementedError("'clear' not supported on frozendict")
+ def pop(self, key, default=None):
+ raise NotImplementedError("'pop' not supported on frozendict")
+ def popitem(self):
+ raise NotImplementedError("'popitem' not supported on frozendict")
+ def setdefault(self, key, default=None):
+ raise NotImplementedError("'setdefault' not supported on frozendict")
+ def update(self, *args, **kwargs):
+ raise NotImplementedError("'update' not supported on frozendict")
+
@contextmanager
def ignore(*exc):
try: