in marketplace/deployer_util/config_helper.py [0:0]
def matches_definition(self, definition):
"""Returns true of the definition partially matches.
The definition argument is a dictionary. All fields in the hierarchy
defined there must be present and have the same values in the schema
in order for the property to be a match.
There is a special `name` field in the dictionary that captures the
property name, which does not originally exist in the schema.
"""
def _matches(dictionary, subdict):
for k, sv in subdict.items():
v = dictionary.get(k, None)
if isinstance(v, dict):
if not _matches(v, sv):
return False
else:
if v != sv:
return False
return True
return _matches(
dict(list(self._d.items()) + [('name', self._name)]), definition)