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 ): def flatten_stack( data ):
flat = [] flat = []
if type(data) == str: def flatten( obj ):
return [ data ] 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: for obj in data:
res = [ flatten_stack( sub ) for sub in data ] flatten( obj )
flat_list = [item for sublist in res for item in sublist]
for item in flat_list: return flat
flat += item # if type(data) == str:
return flat # return [ data ]
if type(data) == dict: # if type(data) == list:
for key in data.keys(): # res = [ flatten_stack( sub ) for sub in data ]
if '/' in key: # flat_list = [item for sublist in res for item in sublist]
flat.append(key) # for item in flat_list:
# if type(data[key]) != dict: # flat += item
# flat.append(key) # return flat
# else:
if type(data[key]) in [list,dict]: # if type(data) == dict:
res = flatten_stack(data[key]) # for key in data.keys():
for item in res: # if '/' in key:
flat += item # flat.append(key)
return flat # # 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 ) # jlog( flat )
return flat # return flat
# return list(flatten(flat)) # # return list(flatten(flat))