def traverse(dct, parent=None): resources = {} for name, res in dct.items(): host = url_to_host(self.base_url) apidoc_url = urljoin(host, res.get('apidoc')) schema_url = urljoin(host, res.get('schema')) resource = Resource( self, name, res.get('relativePath'), schema_url, apidoc_url, parent=parent, ) self._resources[name] = resource resources[name] = resource child_resources = {} for att, val in res.items(): if att == 'children': child_resources.update( traverse(val, parent=resource) ) resource.children = child_resources return resources
def traverse(dct, parent=None): resources = {} for name, res in dct.items(): host = url_to_host(self.base_url) apidoc_url = urljoin(host, res.get('apidoc')) schema_url = urljoin(host, res.get('schema')) resource = Resource( self, name, res.get('relativePath'), schema_url, apidoc_url, parent=parent, ) self._resources[name] = resource resources[name] = resource child_resources = {} for att, val in res.items(): if att == 'children': child_resources.update(traverse(val, parent=resource)) resource.children = child_resources return resources