From ce2dbe99e84b18af079223bea180587cbdc062ab Mon Sep 17 00:00:00 2001 From: Slava Skvortsov <29122694+SlavaSkvortsov@users.noreply.github.com> Date: Thu, 23 Sep 2021 11:43:50 +0200 Subject: [PATCH] Fix unprocessed key --- deepdiff/deephash.py | 7 +++---- tests/test_hash.py | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/deepdiff/deephash.py b/deepdiff/deephash.py index 4a9445fa..b8c54725 100644 --- a/deepdiff/deephash.py +++ b/deepdiff/deephash.py @@ -13,9 +13,8 @@ from deepdiff.base import Base logger = logging.getLogger(__name__) -UNPROCESSED_KEY = 'unprocessed' +UNPROCESSED_KEY = object() -RESERVED_DICT_KEYS = {UNPROCESSED_KEY} EMPTY_FROZENSET = frozenset() INDEX_VS_ATTRIBUTE = ('[%s]', '.%s') @@ -185,7 +184,7 @@ def _getitem(hashes, obj, extract_index=0): except KeyError: raise KeyError(HASH_LOOKUP_ERR_MSG.format(obj)) from None - if isinstance(obj, strings) and obj in RESERVED_DICT_KEYS: + if obj is UNPROCESSED_KEY: extract_index = None return result_n_count if extract_index is None else result_n_count[extract_index] @@ -229,7 +228,7 @@ def _get_objects_to_hashes_dict(self, extract_index=0): """ result = dict_() for key, value in self.hashes.items(): - if key in RESERVED_DICT_KEYS: + if key is UNPROCESSED_KEY: result[key] = value else: result[key] = value[extract_index] diff --git a/tests/test_hash.py b/tests/test_hash.py index 3097be9e..ba61fbfc 100755 --- a/tests/test_hash.py +++ b/tests/test_hash.py @@ -134,7 +134,7 @@ def __repr__(self): t1 = Bad() result = DeepHash(t1) - expected_result = {t1: unprocessed, 'unprocessed': [t1]} + expected_result = {t1: unprocessed, UNPROCESSED_KEY: [t1]} assert expected_result == result def test_built_in_hash_not_sensitive_to_bytecode_vs_unicode(self): @@ -407,7 +407,7 @@ def __str__(self): t1 = Bad() result = DeepHashPrep(t1) - expected_result = {t1: unprocessed, 'unprocessed': [t1]} + expected_result = {t1: unprocessed, UNPROCESSED_KEY: [t1]} assert expected_result == result class Burrito: