mirror of
https://gitlab.com/splashmapper/splash.git
synced 2026-02-11 14:30:48 +01:00
53 lines
1.7 KiB
Python
Executable File
53 lines
1.7 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
# This script convert a json string received from
|
|
# 'splash --info' through pipe to Markdown
|
|
|
|
import json
|
|
import sys
|
|
from io import StringIO
|
|
|
|
if __name__ == "__main__":
|
|
jsonString = ""
|
|
firstLine = True
|
|
for line in sys.stdin:
|
|
if firstLine:
|
|
if line[0] != "{":
|
|
continue
|
|
firstLine = False
|
|
jsonString += line
|
|
|
|
io = StringIO(jsonString)
|
|
json = json.load(io)
|
|
|
|
objects_descriptions = dict()
|
|
objects_short_descriptions = dict()
|
|
objects_attributes = dict()
|
|
|
|
for data in json:
|
|
if type(json[data]) == str:
|
|
if data.find("_short_description") != -1:
|
|
objType = data[:data.find("_short_description")]
|
|
objects_short_descriptions[objType] = json[data]
|
|
elif data.find("_description") != -1:
|
|
objType = data[:data.find("_description")]
|
|
objects_descriptions[objType] = json[data]
|
|
elif type(json[data]) == dict:
|
|
attributes = "Attributes:\n\n"
|
|
for attr in json[data]:
|
|
if json[data][attr] == "":
|
|
continue
|
|
attributes += "- " + attr + ": " + json[data][attr] + "\n"
|
|
attributes += "\n"
|
|
objects_attributes[data] = attributes
|
|
|
|
for data in json:
|
|
if data.find("_description") != -1 or data.find("_short_description") != -1:
|
|
continue
|
|
description = objects_descriptions.get(data)
|
|
short_description = objects_short_descriptions.get(data)
|
|
print("#### {} - {}\n".format(data, short_description))
|
|
if description is not None:
|
|
print("{}\n".format(description))
|
|
print(objects_attributes[data])
|