def __getitem__(self, path): parts = path.strip('/').split('/') cur = self.__interfaces parameters = [] while parts and type(cur) is dict: key = parts.pop(0) if key not in cur: if '*' in cur: if key != '*': parameters.append(key) cur = cur['*'] continue return None cur = cur[key] if type(cur) is dict: cur = cur.get(None) if parts: parameters.extend(parts) if parameters: return InterfaceProxy(cur, parameters) return cur
def __getitem__(self, path): parts = path.strip('/').split('/') cur = self.__interfaces while parts and type(cur) is dict: key = parts.pop(0) if key not in cur: return None cur = cur[key] if type(cur) is dict: cur = cur.get(None) if parts: return InterfaceProxy(cur, parts) return cur