Добавлена поддержка обработки переменных профиля в условной строке профиля директории.

Добавлена поддержка для DHCP формата файлов.
master
Самоукин Алексей 15 years ago
parent 528afaf41d
commit c5e8c231b2

@ -2876,7 +2876,7 @@ class profile(_file, _terms, xmlShare):
dirObjsApply = []
for dirObj in dirObjs:
dirInfoFile = os.path.join(dirObj.baseDir, self.profDirNameFile)
ret = self.__getApplyHeadDirRoot(dirInfoFile)
ret = self.__isApplyHeadDir(dirInfoFile)
if ret:
dirObjsApply.append(dirObj)
else:
@ -3019,7 +3019,7 @@ class profile(_file, _terms, xmlShare):
textProfile = FD.read()
FD.close()
except:
self.setError(_("Error open profile#: " ) +\
self.setError(_("Error open profile: " ) +\
profileDirFile)
return (applyDir, False)
objHead = dirHeader(textProfile, self.objVar,function)
@ -3083,7 +3083,7 @@ class profile(_file, _terms, xmlShare):
dirObjsApply = []
for dirObj in dirObjs:
dirInfoFile = os.path.join(dirObj.baseDir, self.profDirNameFile)
ret = self.__getApplyHeadDirRoot(dirInfoFile)
ret = self.__isApplyHeadDir(dirInfoFile)
if ret:
dirObjsApply.append(dirObj)
else:
@ -3172,7 +3172,7 @@ class profile(_file, _terms, xmlShare):
return False
return filesApply
def __getApplyHeadDirRoot(self, profileDirFile):
def __isApplyHeadDir(self, profileDirFile):
"""Будет ли применен профиль корневой директории
Возвращает True, False
@ -3189,9 +3189,12 @@ class profile(_file, _terms, xmlShare):
textProfile = FD.read()
FD.close()
except:
self.setError(_("Error open profile#: " ) +\
self.setError(_("Error open profile: " ) +\
profileDirFile)
return False
# Заменяем переменные на их значения
textProfile = self.applyVarsProfile(textProfile, profileDirFile)
# Обработка заголовка
objHead = dirHeader(textProfile, self.objVar,function)
if not objHead.headerCorrect:
self.setError(_("Incorrect profile: " ) +\
@ -3267,9 +3270,12 @@ class profile(_file, _terms, xmlShare):
textProfile = FD.read()
FD.close()
except:
self.setError(_("Error open profile#: " ) +\
self.setError(_("Error open profile: " ) +\
profileDirFile)
return (applyDir, False)
# Заменяем переменные на их значения
textProfile = self.applyVarsProfile(textProfile, profileDirFile)
# Обработка заголовка
objHead = dirHeader(textProfile, self.objVar,function)
if not objHead.headerCorrect:
self.setError(_("Incorrect profile: " ) +\
@ -6210,4 +6216,25 @@ the same nodes at one level")
except:
self.setError(_("Can not join profile"))
return False
return True
return True
class dhcp(bind):
"""Класс для обработки конфигурационного файла типа dhcp
"""
_comment = "#"
configName = "dhcp"
configVersion = "0.1"
__openArea = "{"
__closeArea = "[ \t]*\}[ \t]*"
sepFields = ";"
reOpen = re.compile(__openArea)
reClose = re.compile(__closeArea)
reCloseArea = re.compile(__closeArea + "\s*\Z")
reComment = re.compile("^[ \t]*%s"%(_comment))
reSepFields = re.compile(sepFields)
reSeparator = re.compile("[ \t]+")
def __init__(self,text):
bind.__init__(self,text)
Loading…
Cancel
Save