added safe mkdir in utils, use utils.mkdir_safe() in backup

This commit is contained in:
Spitap
2022-07-21 17:09:23 +02:00
parent 6f604a5fec
commit 8d02d2a9fb
2 changed files with 11 additions and 2 deletions

View File

@@ -1,7 +1,9 @@
"""Backup script for pre-installed instance"""
import os
import pwd
import shutil
import stat
from .. import database
from .. import utils
@@ -31,8 +33,9 @@ class Backup():
def preparePath(self):
pw = pwd.getpwnam("root")
for dir in self.BACKUPDIRECTORY:
utils.mkdir(self.destinationPath + dir)
utils.mkdir_safe(self.destinationPath + dir, stat.S_IRWXU | stat.S_IRWXG, pw[2], pw[3])
def validatePath(self, path):
@@ -49,7 +52,8 @@ class Backup():
createDir = input(f"\"{path}\" doesn't exists, would you like to create it ? [Y/n]\n").lower()
if createDir == "y" or createDir == "yes":
os.mkdir(path)
pw = pwd.getpwnam("root")
utils.mkdir_safe(path, stat.S_IRWXU | stat.S_IRWXG, pw[2], pw[3])
else:
return False

View File

@@ -106,6 +106,11 @@ def mkdir(path, mode, uid, gid):
os.chmod(path, mode)
os.chown(path, uid, gid)
def mkdir_safe(path, mode, uid, gid):
"""Create a directory. Safe way (-p)"""
if not os.path.exists(path):
os.makedirs(os.path.abspath(path), mode)
mkdir(path, mode, uid, gid)
def make_password(length=16):
"""Create a random password."""