def remove_optional_keys(self):
"""
Removes values for keys that are not required from object's data.
:raises: **InvalidRequest** - in case object's data is not a dictionary.
"""
if self.OPTIONAL_KEYS_ALLOWED:
return
if type(self.data) != types.DictType:
raise InvalidRequest('Data object is not a dictionary: %s.' % str(self.data))
removed_keys = []
for (key,value) in self.data.items():
if not self.get_required_data_defaults().has_key(key):
if key not in self.USER_PROVIDED_KEYS and not key.startswith('#'):
removed_keys.append(key)
for key in removed_keys:
del self.data[key]
评论列表
文章目录