From 64e0d945ce09641338f9a809195a598efe93fa1d Mon Sep 17 00:00:00 2001 From: Jason Kraus Date: Mon, 1 Apr 2013 17:58:46 -0700 Subject: [PATCH] make it easier to recompute the natural key hash --- dockit/schema/schema.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dockit/schema/schema.py b/dockit/schema/schema.py index bcd60b6..7d8cf8b 100644 --- a/dockit/schema/schema.py +++ b/dockit/schema/schema.py @@ -455,10 +455,13 @@ def get_or_create_natural_key(self, refresh=False): if refresh or not self._primitive_data.get('@natural_key', None): self._primitive_data['@natural_key'] = self.create_natural_key() self._primitive_data.pop('@natural_key_hash', None) - if refresh or '@natural_key_hash' not in self._primitive_data: - self._primitive_data['@natural_key_hash'] = self._get_natural_key_hash(self._primitive_data['@natural_key']) + if refresh or not self._primitive_data.get('@natural_key_hash', None): + self.set_natural_key_hash() return self._primitive_data['@natural_key'] + def set_natural_key_hash(self): + self._primitive_data['@natural_key_hash'] = self._get_natural_key_hash(self._primitive_data['@natural_key']) + def create_natural_key(self): ''' Documents may want to override this to return a dictionary of values representing the natural key of the document.