diff --git a/script.py b/script.py index 657a30a..e24996f 100755 --- a/script.py +++ b/script.py @@ -8,8 +8,21 @@ def render(spaces, template): appTemplate = Template(filename=template) print(appTemplate.render(s=spaces)) +def make_hierarchy(room, loops, depth=0): + try: + print(' ' * depth + '- ' + room['name']) + if room['children_state'] and room['room_id'] not in loops: + for child in room['children_state']: + make_hierarchy(ROOMS[child['state_key']], loops, depth+1) + + except: + # missing or no name + print(' ' * depth + ' Skip ' + room['room_id']) + if __name__ == '__main__': with open('libregamingspaces.json') as f: - spaces = json.load(f) + data = json.load(f) - render(spaces, './spaces.html') + # render(data, './spaces.html') + ROOMS = {room['room_id'] : room for room in data} + make_hierarchy(ROOMS['!IdUUdKALNzBLKEjvbP:matrix.org'], ['!JTpfWshTKZpZiUASvP:hacklab.fi'])