From 13dc390f7a323bdfb533649bedd6a36029c5cdcf Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Thu, 30 Apr 2015 14:23:25 -0400 Subject: [PATCH] Use a specialized method to clean up DjangoKeyValueStore --- lms/djangoapps/courseware/model_data.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/lms/djangoapps/courseware/model_data.py b/lms/djangoapps/courseware/model_data.py index 28719cc6a3..5532e0ef89 100644 --- a/lms/djangoapps/courseware/model_data.py +++ b/lms/djangoapps/courseware/model_data.py @@ -95,9 +95,7 @@ class DjangoKeyValueStore(KeyValueStore): self._field_data_cache = field_data_cache def get(self, key): - if key.scope not in self._allowed_scopes: - raise InvalidScopeError(key) - + self._raise_unless_scope_is_allowed(key) return self._field_data_cache.get(key) def set(self, key, value): @@ -116,23 +114,23 @@ class DjangoKeyValueStore(KeyValueStore): """ for key in kv_dict: # Check key for validity - if key.scope not in self._allowed_scopes: - raise InvalidScopeError(key) + self._raise_unless_scope_is_allowed(key) self._field_data_cache.set_many(kv_dict) def delete(self, key): - if key.scope not in self._allowed_scopes: - raise InvalidScopeError(key) - + self._raise_unless_scope_is_allowed(key) self._field_data_cache.delete(key) def has(self, key): + self._raise_unless_scope_is_allowed(key) + return self._field_data_cache.has(key) + + def _raise_unless_scope_is_allowed(self, key): + """Raise an InvalidScopeError if key.scope is not in self._allowed_scopes.""" if key.scope not in self._allowed_scopes: raise InvalidScopeError(key) - return self._field_data_cache.has(key) - new_contract("DjangoKeyValueStore", DjangoKeyValueStore) new_contract("DjangoKeyValueStore_Key", DjangoKeyValueStore.Key)