From e7e57c6e9c7979f1b98187002e2dbbc3013470ef Mon Sep 17 00:00:00 2001 From: dave Date: Sun, 14 Apr 2019 17:20:27 -0700 Subject: [PATCH] config dumper --- nodepupper/cli.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/nodepupper/cli.py b/nodepupper/cli.py index 437ba50..a7560d4 100644 --- a/nodepupper/cli.py +++ b/nodepupper/cli.py @@ -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()