mirror of https://github.com/hrfee/jfa-go
setting is jellyfin/substitute_jellyfin_strings.pull/35/head
parent
f5602f1e96
commit
8d0dc232d7
@ -1,57 +0,0 @@
|
|||||||
import json
|
|
||||||
|
|
||||||
with open("config-formatted.json", "r") as f:
|
|
||||||
config = json.load(f)
|
|
||||||
|
|
||||||
indent = 0
|
|
||||||
|
|
||||||
|
|
||||||
def writeln(ln):
|
|
||||||
global indent
|
|
||||||
if "}" in ln and "{" not in ln:
|
|
||||||
indent -= 1
|
|
||||||
s.write(("\t" * indent) + ln + "\n")
|
|
||||||
if "{" in ln and "}" not in ln:
|
|
||||||
indent += 1
|
|
||||||
|
|
||||||
|
|
||||||
with open("configStruct.go", "w") as s:
|
|
||||||
writeln("package main")
|
|
||||||
writeln("")
|
|
||||||
writeln("type Metadata struct{")
|
|
||||||
writeln('Name string `json:"name"`')
|
|
||||||
writeln('Description string `json:"description"`')
|
|
||||||
writeln("}")
|
|
||||||
writeln("")
|
|
||||||
writeln("type Config struct{")
|
|
||||||
if "order" in config:
|
|
||||||
writeln('Order []string `json:"order"`')
|
|
||||||
for section in [x for x in config.keys() if x != "order"]:
|
|
||||||
title = "".join([x.title() for x in section.split("_")])
|
|
||||||
writeln(title + " struct{")
|
|
||||||
if "order" in config[section]:
|
|
||||||
writeln('Order []string `json:"order"`')
|
|
||||||
if "meta" in config[section]:
|
|
||||||
writeln('Meta Metadata `json:"meta"`')
|
|
||||||
for setting in [
|
|
||||||
x for x in config[section].keys() if x != "order" and x != "meta"
|
|
||||||
]:
|
|
||||||
name = "".join([x.title() for x in setting.split("_")])
|
|
||||||
writeln(name + " struct{")
|
|
||||||
writeln('Name string `json:"name"`')
|
|
||||||
writeln('Required bool `json:"required"`')
|
|
||||||
writeln('Restart bool `json:"requires_restart"`')
|
|
||||||
writeln('Description string `json:"description"`')
|
|
||||||
writeln('Type string `json:"type"`')
|
|
||||||
dt = config[section][setting]["type"]
|
|
||||||
if dt == "select":
|
|
||||||
dt = "string"
|
|
||||||
writeln('Options []string `json:"options"`')
|
|
||||||
elif dt == "number":
|
|
||||||
dt = "int"
|
|
||||||
elif dt != "bool":
|
|
||||||
dt = "string"
|
|
||||||
writeln(f'Value {dt} `json:"value" cfg:"{setting}"`')
|
|
||||||
writeln("} " + f'`json:"{setting}" cfg:"{setting}"`')
|
|
||||||
writeln("} " + f'`json:"{section}"`')
|
|
||||||
writeln("}")
|
|
Loading…
Reference in new issue