diff --git a/pym/cl_profile.py b/pym/cl_profile.py index cceeea9..dabcc7b 100644 --- a/pym/cl_profile.py +++ b/pym/cl_profile.py @@ -1673,6 +1673,8 @@ class _file(_error): dirMv = profDir.split(baseDir)[1] listDirMv = dirMv.split("/") lenListDirMv = len(listDirMv) - 2 + # Созданные директории + createDirs = [] if lenListDirMv >= 0: for i in range(lenListDirMv,-1,-1): z = i + 2 @@ -1694,6 +1696,8 @@ class _file(_error): return False os.mkdir(dirTestMv, mode) os.chown(dirTestMv, uid,gid) + createDirs.append(dirTestMv) + return createDirs def scanDirs(self, profilesDirs): """Сканирует дерево каталогов выдает два списка: директории, файлы""" @@ -1976,12 +1980,20 @@ class profile(_file, _terms): tmpDirsProfiles.append(False) dirsProfiles = tmpDirsProfiles dirObjs = self.scanDirs(dirsProfiles) + #файлы к которым были применены профили + filesApply = [] + #созданные директории + createdDirs = [] for dirObj in dirObjs: # сортируем файлы по названию if dirObj.files: dirObj.files.sort() for dirProfile in dirObj.dirs: - self.createDir(dirObj.baseDir, dirProfile, self._baseDir) + crDirs = self.createDir(dirObj.baseDir, dirProfile, + self._baseDir) + if crDirs == False: + return False + createdDirs += crDirs for fileProfile in dirObj.files: if self.getNeedProfile(fileProfile): if self.getError(): @@ -1997,12 +2009,13 @@ class profile(_file, _terms): profTitle = '"' + "/".join(listProfTitle) + '"' self.join(fileProfile, oldFile, (self.objVar.Get("cl_ver"),profTitle)) + filesApply.append(oldFile) else: if self.getError(): print self.getError() return False self.closeFiles() - return True + return (createdDirs, filesApply) def __getApplyHeadProfile(self ,newFile, oldFile): """Применяет заголовок к профилю (права, владелец, и.т. д)"""