diff options
Diffstat (limited to 'openerp/tools/misc.py')
| -rw-r--r-- | openerp/tools/misc.py | 17 |
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: |
