diff options
Diffstat (limited to 'python/vyos/util.py')
-rw-r--r-- | python/vyos/util.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/python/vyos/util.py b/python/vyos/util.py index 7fea6cdc6..c318d58de 100644 --- a/python/vyos/util.py +++ b/python/vyos/util.py @@ -221,6 +221,19 @@ def write_file(fname, data, defaultonfailure=None, user=None, group=None): return defaultonfailure raise e +def copy_file(source, destination, mkdstdir=False, user=None, group=None): + """ + Copy file from source to destination. Can optionally create the destination + dir if it does not exist. Can optionally change the dir and file ownership. + """ + import shutil + if mkdstdir: + dirname = os.path.dirname(destination) + if not os.path.isdir(dirname): + makedir(dirname, user, group) + + shutil.copyfile(source, destination) + chown(destination, user, group) def read_json(fname, defaultonfailure=None): """ |