WIP lookup commands

This commit is contained in:
DiG 2022-01-17 15:20:25 +01:00
parent d39f91a044
commit 09ac82732a
1 changed files with 42 additions and 22 deletions

View File

@ -336,32 +336,52 @@ def lookup( model, domains ):
def flatten_stack( data ):
flat = []
if type(data) == str:
return [ data ]
def flatten( obj ):
if type(obj) == dict:
key = obj.keys()[0]
flat += [key]
for field in obj[key].keys():
flatten( obj[key][field] )
if type(obj) == list:
for item in obj:
if type(item) == str:
flat += [item]
if type(item) == dict:
flatten( item )
if type(obj) == str:
if type(data) == list:
res = [ flatten_stack( sub ) for sub in data ]
flat_list = [item for sublist in res for item in sublist]
for item in flat_list:
flat += item
return flat
for obj in data:
flatten( obj )
return flat
# if type(data) == str:
# return [ data ]
if type(data) == dict:
for key in data.keys():
if '/' in key:
flat.append(key)
# if type(data[key]) != dict:
# flat.append(key)
# else:
if type(data[key]) in [list,dict]:
res = flatten_stack(data[key])
for item in res:
flat += item
return flat
# if type(data) == list:
# res = [ flatten_stack( sub ) for sub in data ]
# flat_list = [item for sublist in res for item in sublist]
# for item in flat_list:
# flat += item
# return flat
# if type(data) == dict:
# for key in data.keys():
# if '/' in key:
# flat.append(key)
# # if type(data[key]) != dict:
# # flat.append(key)
# # else:
# if type(data[key]) in [list,dict]:
# res = flatten_stack(data[key])
# for item in res:
# flat += item
# return flat
# jlog( flat )
return flat
# return list(flatten(flat))
# return flat
# # return list(flatten(flat))