develop
asamoukin 16 years ago
parent ef59717fee
commit 425cfbea95

@ -360,7 +360,6 @@ class opt:
"""
self.shortOpt = shortOpt
self.longOpt = longOpt
self.getopt()
self.sysArgv = sys.argv[1:]
def getopt(self):

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

Loading…
Cancel
Save