|
@@ -149,11 +149,7 @@ class DirectoryProvider(Provider):
|
|
Logger.info("Following the link {0} to {1} to create the directory".format(self.resource.path, path))
|
|
Logger.info("Following the link {0} to {1} to create the directory".format(self.resource.path, path))
|
|
|
|
|
|
if self.resource.recursive:
|
|
if self.resource.recursive:
|
|
- if self.resource.recursive_permission:
|
|
|
|
- DirectoryProvider.makedirs_and_set_permission_recursively(path, self.resource.owner,
|
|
|
|
- self.resource.group, self.resource.mode)
|
|
|
|
- else:
|
|
|
|
- sudo.makedirs(path, self.resource.mode or 0755)
|
|
|
|
|
|
+ sudo.makedirs(path, self.resource.mode or 0755)
|
|
else:
|
|
else:
|
|
dirname = os.path.dirname(path)
|
|
dirname = os.path.dirname(path)
|
|
if not sudo.path_isdir(dirname):
|
|
if not sudo.path_isdir(dirname):
|
|
@@ -167,24 +163,6 @@ class DirectoryProvider(Provider):
|
|
_ensure_metadata(path, self.resource.owner, self.resource.group,
|
|
_ensure_metadata(path, self.resource.owner, self.resource.group,
|
|
mode=self.resource.mode, cd_access=self.resource.cd_access)
|
|
mode=self.resource.mode, cd_access=self.resource.cd_access)
|
|
|
|
|
|
- @staticmethod
|
|
|
|
- def makedirs_and_set_permission_recursively(path, owner, group, mode):
|
|
|
|
- folders = []
|
|
|
|
- path, folder = os.path.split(path)
|
|
|
|
- while folder != "":
|
|
|
|
- folders.append(folder)
|
|
|
|
- path, folder = os.path.split(path)
|
|
|
|
- if path != "":
|
|
|
|
- folders.append(path)
|
|
|
|
-
|
|
|
|
- folders.reverse()
|
|
|
|
- dir_prefix = ""
|
|
|
|
- for folder in folders:
|
|
|
|
- dir_prefix = os.path.join(dir_prefix, folder)
|
|
|
|
- if not sudo.path_exists(dir_prefix):
|
|
|
|
- sudo.makedir(dir_prefix, mode or 0755)
|
|
|
|
- _ensure_metadata(dir_prefix, None, None, mode)
|
|
|
|
-
|
|
|
|
def action_delete(self):
|
|
def action_delete(self):
|
|
path = self.resource.path
|
|
path = self.resource.path
|
|
if sudo.path_exists(path):
|
|
if sudo.path_exists(path):
|