summaryrefslogtreecommitdiff
path: root/python/vyos/util.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-04-27 19:38:53 +0200
committerGitHub <noreply@github.com>2020-04-27 19:38:53 +0200
commit536fd31f868a19ccbea72a637cb6b984fa368ce9 (patch)
tree67f2740ee48df38c8dacbcebdd901af129f4f8a8 /python/vyos/util.py
parent9bdc3dca0d1b2cec3422b08c186af80ac2aa665e (diff)
parent2bf12b579e083a8b527d3202ced365b8adf32625 (diff)
downloadvyos-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.py29
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.