config dumper

This commit is contained in:
dave 2019-04-14 17:20:27 -07:00
parent 0b3b766ec6
commit e7e57c6e9c
1 changed files with 13 additions and 0 deletions

View File

@ -72,6 +72,8 @@ def main():
spr_delc = spr_action.add_parser("delclass", help="delete a class")
spr_delc.add_argument("cls", help="name of class to delete")
spr_dump = spr_action.add_parser("dump", help="dump the database")
args = parser.parse_args()
r = requests.session()
@ -118,6 +120,17 @@ def main():
elif args.action == "delclass":
r.delete(args.host.rstrip("/") + "/api/class/" + args.cls).raise_for_status()
elif args.action == "dump":
nodes = yaml.load(r.get(args.host.rstrip("/") + "/api/node").text)["nodes"]
dump = {"classes": yaml.load(r.get(args.host.rstrip("/") + "/api/class").text)["classes"],
"nodes": {}}
for nodename in nodes:
dump["nodes"][nodename] = yaml.load(getnode(nodename))
print(yaml.dump(dump, default_flow_style=False))
if __name__ == "__main__":
main()