|
|
@ -59,6 +59,9 @@ class cl_params:
|
|
|
|
if par.has_key("shortOption"):
|
|
|
|
if par.has_key("shortOption"):
|
|
|
|
if self.access(par):
|
|
|
|
if self.access(par):
|
|
|
|
sp.append(par["shortOption"])
|
|
|
|
sp.append(par["shortOption"])
|
|
|
|
|
|
|
|
elif par.has_key("longOption"):
|
|
|
|
|
|
|
|
if self.access(par):
|
|
|
|
|
|
|
|
sp.append(par["longOption"])
|
|
|
|
#sp.sort()
|
|
|
|
#sp.sort()
|
|
|
|
for shortOption in sp:
|
|
|
|
for shortOption in sp:
|
|
|
|
for par in self.data:
|
|
|
|
for par in self.data:
|
|
|
@ -83,19 +86,34 @@ class cl_params:
|
|
|
|
CONWIDTH-self.column_width)
|
|
|
|
CONWIDTH-self.column_width)
|
|
|
|
self.addChapterHelp(numChapter,helpTxt)
|
|
|
|
self.addChapterHelp(numChapter,helpTxt)
|
|
|
|
break
|
|
|
|
break
|
|
|
|
|
|
|
|
elif par.has_key("longOption") and self.access(par):
|
|
|
|
|
|
|
|
if par["longOption"] == shortOption:
|
|
|
|
|
|
|
|
numChapter = self.getChapterNumber(par['helpChapter'])
|
|
|
|
|
|
|
|
longOption = par["longOption"]
|
|
|
|
|
|
|
|
helpTxt = pcs(
|
|
|
|
|
|
|
|
" --%s "%(longOption),
|
|
|
|
|
|
|
|
self.column_width, par['help'],
|
|
|
|
|
|
|
|
CONWIDTH-self.column_width)
|
|
|
|
|
|
|
|
self.addChapterHelp(numChapter,helpTxt)
|
|
|
|
|
|
|
|
break
|
|
|
|
for par in self.data:
|
|
|
|
for par in self.data:
|
|
|
|
if not par.has_key("shortOption") and \
|
|
|
|
if not (par.has_key("shortOption") or\
|
|
|
|
|
|
|
|
par.has_key("longOption")) and\
|
|
|
|
self.access(par):
|
|
|
|
self.access(par):
|
|
|
|
helpTxt = par['help']
|
|
|
|
helpTxt = par['help']
|
|
|
|
numChapter = self.getChapterNumber(par['helpChapter'])
|
|
|
|
numChapter = self.getChapterNumber(par['helpChapter'])
|
|
|
|
self.addChapterHelp(numChapter,helpTxt)
|
|
|
|
self.addChapterHelp(numChapter,helpTxt)
|
|
|
|
|
|
|
|
|
|
|
|
def getHelp(self):
|
|
|
|
def getHelp(self, optionsChapters=False):
|
|
|
|
# Выдать справку
|
|
|
|
# Выдать справку
|
|
|
|
help = ""
|
|
|
|
help = ""
|
|
|
|
for numChapter in range(len(self.chapter)):
|
|
|
|
for numChapter in range(len(self.chapter)):
|
|
|
|
chapter = self.chapter[numChapter]
|
|
|
|
chapter = self.chapter[numChapter]
|
|
|
|
|
|
|
|
typeChapter = chapter[4]
|
|
|
|
nameChapter = chapter[0]
|
|
|
|
nameChapter = chapter[0]
|
|
|
|
|
|
|
|
if optionsChapters and typeChapter=="options":
|
|
|
|
|
|
|
|
if not (nameChapter in optionsChapters):
|
|
|
|
|
|
|
|
continue
|
|
|
|
visibleChapter = chapter[1]
|
|
|
|
visibleChapter = chapter[1]
|
|
|
|
beforeStrChapter = chapter[2]
|
|
|
|
beforeStrChapter = chapter[2]
|
|
|
|
afterStrChapter = chapter[3]
|
|
|
|
afterStrChapter = chapter[3]
|
|
|
@ -110,7 +128,7 @@ class cl_params:
|
|
|
|
help += self.chapterBloc[numChapter] + aft
|
|
|
|
help += self.chapterBloc[numChapter] + aft
|
|
|
|
return help.encode("UTF-8")
|
|
|
|
return help.encode("UTF-8")
|
|
|
|
|
|
|
|
|
|
|
|
def addChapterHelp(self,numChapter,helpTxt):
|
|
|
|
def addChapterHelp(self, numChapter, helpTxt):
|
|
|
|
# Добавить в раздел помощи numChapteк тектстовую строку helpTxt
|
|
|
|
# Добавить в раздел помощи numChapteк тектстовую строку helpTxt
|
|
|
|
self.chapterBloc[numChapter] += helpTxt
|
|
|
|
self.chapterBloc[numChapter] += helpTxt
|
|
|
|
return True
|
|
|
|
return True
|
|
|
@ -131,11 +149,37 @@ class cl_params:
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
return True
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
|
|
def getAllOpt(self,typeOpt="short"):
|
|
|
|
def getTypeChapter(self, nameChapter):
|
|
|
|
|
|
|
|
"""Показать тип раздела по его имени"""
|
|
|
|
|
|
|
|
flagFind = False
|
|
|
|
|
|
|
|
for numChapter in range(len(self.chapter)):
|
|
|
|
|
|
|
|
chapter = self.chapter[numChapter]
|
|
|
|
|
|
|
|
name = chapter[0]
|
|
|
|
|
|
|
|
if nameChapter == name:
|
|
|
|
|
|
|
|
typeChapter = chapter[4]
|
|
|
|
|
|
|
|
flagFind = True
|
|
|
|
|
|
|
|
break
|
|
|
|
|
|
|
|
if flagFind:
|
|
|
|
|
|
|
|
return typeChapter
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def clearAllOpt(self):
|
|
|
|
|
|
|
|
if len(self.shortOpt) > 0:
|
|
|
|
|
|
|
|
self.shortOpt = []
|
|
|
|
|
|
|
|
if len(self.longOpt) > 0:
|
|
|
|
|
|
|
|
self.longOpt = []
|
|
|
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def getAllOpt(self,typeOpt="short", optionsChapters=False):
|
|
|
|
# Выдать все действующие опции
|
|
|
|
# Выдать все действующие опции
|
|
|
|
if typeOpt=="short":
|
|
|
|
if typeOpt=="short":
|
|
|
|
if len(self.shortOpt) == 0:
|
|
|
|
if len(self.shortOpt) == 0:
|
|
|
|
for par in self.data:
|
|
|
|
for par in self.data:
|
|
|
|
|
|
|
|
if optionsChapters and\
|
|
|
|
|
|
|
|
self.getTypeChapter(par['helpChapter'])=="options":
|
|
|
|
|
|
|
|
if not (par['helpChapter'] in optionsChapters):
|
|
|
|
|
|
|
|
continue
|
|
|
|
if par.has_key("shortOption") and self.access(par):
|
|
|
|
if par.has_key("shortOption") and self.access(par):
|
|
|
|
if par.has_key("optVal"):
|
|
|
|
if par.has_key("optVal"):
|
|
|
|
self.shortOpt.append(par["shortOption"]+':')
|
|
|
|
self.shortOpt.append(par["shortOption"]+':')
|
|
|
@ -145,6 +189,11 @@ class cl_params:
|
|
|
|
if typeOpt=="long":
|
|
|
|
if typeOpt=="long":
|
|
|
|
if len(self.longOpt) == 0:
|
|
|
|
if len(self.longOpt) == 0:
|
|
|
|
for par in self.data:
|
|
|
|
for par in self.data:
|
|
|
|
|
|
|
|
if optionsChapters and\
|
|
|
|
|
|
|
|
self.getTypeChapter(par['helpChapter'])=="options":
|
|
|
|
|
|
|
|
#print par["longOption"]
|
|
|
|
|
|
|
|
if not (par['helpChapter'] in optionsChapters):
|
|
|
|
|
|
|
|
continue
|
|
|
|
if par.has_key("longOption") and self.access(par):
|
|
|
|
if par.has_key("longOption") and self.access(par):
|
|
|
|
if par.has_key("optVal"):
|
|
|
|
if par.has_key("optVal"):
|
|
|
|
self.longOpt.append(par["longOption"]+'=')
|
|
|
|
self.longOpt.append(par["longOption"]+'=')
|
|
|
|