summaryrefslogtreecommitdiff
path: root/python/vyos/utils
diff options
context:
space:
mode:
Diffstat (limited to 'python/vyos/utils')
-rw-r--r--python/vyos/utils/file.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/python/vyos/utils/file.py b/python/vyos/utils/file.py
index 9f27a7fb9..2b1f23b34 100644
--- a/python/vyos/utils/file.py
+++ b/python/vyos/utils/file.py
@@ -83,6 +83,20 @@ def read_json(fname, defaultonfailure=None):
return defaultonfailure
raise e
+def write_json(fname, data, indent=2, defaultonfailure=None):
+ """
+ encode data to json and write to a file
+ should defaultonfailure be not None, it is returned on failure to write
+ """
+ import json
+ try:
+ with open(fname, 'w') as f:
+ json.dump(data, f, indent=indent)
+ except Exception as e:
+ if defaultonfailure is not None:
+ return defaultonfailure
+ raise e
+
def chown(path, user, group):
""" change file/directory owner """
from pwd import getpwnam