From 723fcb24f606d853b1d5aebbfbd4b4c0887b21c8 Mon Sep 17 00:00:00 2001 From: Julien Muchembled <jm@nexedi.com> Date: Wed, 16 Nov 2016 16:04:07 +0100 Subject: [PATCH] Compatibility with recent BTrees Same as for commit c3450f1411efcd96e29f8e9d5902c70e48a679b5: BTrees don't accept None as key anymore. --- product/ERP5/Tool/PasswordTool.py | 2 +- product/ERP5/Tool/UrlRegistryTool.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/product/ERP5/Tool/PasswordTool.py b/product/ERP5/Tool/PasswordTool.py index f35ea5ac95..e1604898e4 100644 --- a/product/ERP5/Tool/PasswordTool.py +++ b/product/ERP5/Tool/PasswordTool.py @@ -266,7 +266,7 @@ class PasswordTool(BaseTool): try: register_user_login, expiration_date = self._password_request_dict[ password_key] - except KeyError: + except (KeyError, TypeError): # XXX: incorrect grammar and not descriptive enough return error('Key not known. Please ask reset password.') if user_login is not None and register_user_login != user_login: diff --git a/product/ERP5/Tool/UrlRegistryTool.py b/product/ERP5/Tool/UrlRegistryTool.py index 5e1aad0182..80448bbc9e 100644 --- a/product/ERP5/Tool/UrlRegistryTool.py +++ b/product/ERP5/Tool/UrlRegistryTool.py @@ -209,18 +209,24 @@ class BTreeMappingDict(Implicit): return self._getStorage().items() def __getitem__(self, key): + if key is None: + raise KeyError(key) return self._getStorage()[key] def __contains__(self, key): return key in self._getStorage().keys() def get(self, key, default=None): + if key is None: + return default return self._getStorage().get(key, default) def __setitem__(self, key, value): self._getStorage()[key] = value def __delitem__(self, key): + if key is None: + raise KeyError(key) del self._getStorage()[key] InitializeClass(UrlRegistryTool) -- 2.30.9