def GetDomainDepsFromRefs(domain_name, json): if isinstance(json, list): for value in json: GetDomainDepsFromRefs(domain_name, value) return if not isinstance(json, dict): return for value in json.itervalues(): GetDomainDepsFromRefs(domain_name, value) if '$ref' in json: if '.' in json['$ref']: dep = json['$ref'].split('.')[0] direct_deps[domain_name].add(dep)