diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-12-28 20:07:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-28 20:07:52 +0100 |
commit | 829e76f7392e348ccc01c56e9680efb4eba80440 (patch) | |
tree | 282dac56ecfccf381fa92ad9027df6779d16ae2f /python/vyos/util.py | |
parent | c1fcbba9cb45f981e5bd8decf3ebbc1e17d9fbd9 (diff) | |
parent | eeb78e842423319169b036d16601e73227dbffdd (diff) | |
download | vyos-1x-829e76f7392e348ccc01c56e9680efb4eba80440.tar.gz vyos-1x-829e76f7392e348ccc01c56e9680efb4eba80440.zip |
Merge pull request #643 from c-po/t563-webproxy
webproxy: T563: migrate from old Perl code to XML and get_config_dict()
Diffstat (limited to 'python/vyos/util.py')
-rw-r--r-- | python/vyos/util.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/python/vyos/util.py b/python/vyos/util.py index fc6915687..494c8155e 100644 --- a/python/vyos/util.py +++ b/python/vyos/util.py @@ -215,6 +215,30 @@ def read_file(fname, defaultonfailure=None): return defaultonfailure raise e +def write_file(fname, data, defaultonfailure=None, user=None, group=None): + """ + Write content of data to given fname, should defaultonfailure be not None, + it is returned on failure to read. + + If directory of file is not present, it is auto-created. + """ + dirname = os.path.dirname(fname) + if not os.path.isdir(dirname): + os.makedirs(dirname, mode=0o755, exist_ok=False) + chown(dirname, user, group) + + try: + """ Write a file to string """ + bytes = 0 + with open(fname, 'w') as f: + bytes = f.write(data) + chown(fname, user, group) + return bytes + except Exception as e: + if defaultonfailure is not None: + return defaultonfailure + raise e + def read_json(fname, defaultonfailure=None): """ |