diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-04-27 19:38:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-27 19:38:53 +0200 |
commit | 536fd31f868a19ccbea72a637cb6b984fa368ce9 (patch) | |
tree | 67f2740ee48df38c8dacbcebdd901af129f4f8a8 /python/vyos/util.py | |
parent | 9bdc3dca0d1b2cec3422b08c186af80ac2aa665e (diff) | |
parent | 2bf12b579e083a8b527d3202ced365b8adf32625 (diff) | |
download | vyos-1x-536fd31f868a19ccbea72a637cb6b984fa368ce9.tar.gz vyos-1x-536fd31f868a19ccbea72a637cb6b984fa368ce9.zip |
Merge pull request #381 from thomas-mangin/T2388
template: T2388: move mkdir/chmod/chown within render()
Diffstat (limited to 'python/vyos/util.py')
-rw-r--r-- | python/vyos/util.py | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/python/vyos/util.py b/python/vyos/util.py index 504d36ef8..307decc87 100644 --- a/python/vyos/util.py +++ b/python/vyos/util.py @@ -213,10 +213,24 @@ def chown(path, user, group): from pwd import getpwnam from grp import getgrnam - if os.path.exists(path): - uid = getpwnam(user).pw_uid - gid = getgrnam(group).gr_gid - os.chown(path, uid, gid) + if user is None or group is None: + return False + + if not os.path.exists(path): + return False + + uid = getpwnam(user).pw_uid + gid = getgrnam(group).gr_gid + os.chown(path, uid, gid) + return True + + +def chmod(path, bitmask): + if not os.path.exists(path): + return + if bitmask is None: + return + os.chmod(path, bitmask) def chmod_600(path): @@ -247,6 +261,13 @@ def chmod_755(path): os.chmod(path, bitmask) +def makedir(path, user=None, group=None): + if not os.path.exists(path): + return + os.mkdir(path) + chown(path, user, group) + + def colon_separated_to_dict(data_string, uniquekeys=False): """ Converts a string containing newline-separated entries of colon-separated key-value pairs into a dict. |