mirror of
https://github.com/kiviktnm/decman.git
synced 2026-09-19 12:08:28 +00:00
When installing files create directories with the same owner as the file
This commit is contained in:
+14
-1
@@ -137,7 +137,20 @@ class File:
|
||||
variables = {}
|
||||
|
||||
target_directory = os.path.dirname(target)
|
||||
os.makedirs(target_directory, exist_ok=True)
|
||||
|
||||
def create_missing_dirs(dirct: str, uid: typing.Optional[int],
|
||||
gid: typing.Optional[int]):
|
||||
if not os.path.isdir(dirct):
|
||||
parent_dir = os.path.dirname(dirct)
|
||||
if not os.path.isdir(parent_dir):
|
||||
create_missing_dirs(parent_dir, uid, gid)
|
||||
os.mkdir(dirct)
|
||||
|
||||
if uid is not None:
|
||||
assert gid is not None, "If uid is set, then gid is set."
|
||||
os.chown(dirct, uid, gid)
|
||||
|
||||
create_missing_dirs(target_directory, self.uid, self.gid)
|
||||
|
||||
self._write_content(target, variables)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user