mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2025-12-25 17:27:01 +00:00
Add --ky to add YAML data.
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#
|
||||
############################################################
|
||||
import argparse
|
||||
import yaml
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
@@ -30,6 +31,7 @@ def setkeypath(d, kvt):
|
||||
ap=argparse.ArgumentParser(description="Simple JSON Generator.")
|
||||
|
||||
ap.add_argument("--kj", nargs=2, metavar=('KEY', 'FILE|STR'), help="Add json data.")
|
||||
ap.add_argument("--ky", nargs=2, metavar=('KEY', 'FILE|STR'), help="Add yaml jdata.")
|
||||
ap.add_argument("--kv", nargs=2, metavar=('KEY', 'VALUE'), help="Add key/value pair.")
|
||||
ap.add_argument("--kl", nargs='+', metavar=('KEY', 'ENTRY'), help="Add key/list pair.")
|
||||
ap.add_argument("--out", metavar='FILENAME', help="Write output to the given file. The default is stdout")
|
||||
@@ -48,6 +50,14 @@ if ops.kj:
|
||||
v = json.loads(j)
|
||||
setkeypath(g_data, (k, v))
|
||||
|
||||
if ops.ky:
|
||||
(k, y) = ops.ky
|
||||
if os.path.exists(y):
|
||||
v = yaml.load(open(y))
|
||||
else:
|
||||
v = yaml.load(y)
|
||||
setkeypath(g_data, (k, v))
|
||||
|
||||
if ops.kv:
|
||||
setkeypath(g_data, ops.kv)
|
||||
|
||||
@@ -63,4 +73,3 @@ if ops.out and ops.out not in ['-', 'stdout']:
|
||||
json.dump(g_data, out, indent=ops.indent)
|
||||
if not ops.no_nl:
|
||||
out.write('\n')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user