libregamingspaces/script.py

29 lines
905 B
Python
Executable File

#!/usr/bin/env python3
# SPDX-License-Identifier: CC0-1.0
from mako.template import Template
import json
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:
data = json.load(f)
# render(data, './spaces.html')
ROOMS = {room['room_id'] : room for room in data}
make_hierarchy(ROOMS['!IdUUdKALNzBLKEjvbP:matrix.org'], ['!JTpfWshTKZpZiUASvP:hacklab.fi'])