Files
Superbuy/popos/popo_generator.py
T
2022-08-11 12:41:07 -04:00

44 lines
856 B
Python

#!/usr/bin/env python3
import json
from pathlib import Path
from sys import argv
NUM = 1
def transform_obj(obj: dict) -> str:
global NUM
output = {}
for k, v in obj.items():
if isinstance(v, dict):
output[k] = transform_obj(v)
elif isinstance(v, list):
if len(v) == 0:
output[k] = 'list'
elif isinstance(v[0], dict):
output[k] = f'list[{transform_obj(v[0])}]'
else:
output[k] = f'list[{type(v[0])}]'
else:
output[k] = type(v).__name__
name = f'Type{NUM}'
NUM += 1
print(f'class {name}:' + ''.join(f'\n {k}: {v}' for k, v in output.items()))
print()
return name
if __name__ == '__main__':
file = Path(argv[1])
obj = json.loads(file.read_text())
transform_obj(obj)