diff --git a/pym/cl_desktop_cmd.py b/pym/cl_desktop_cmd.py index 01cfbe5..61a9fbe 100644 --- a/pym/cl_desktop_cmd.py +++ b/pym/cl_desktop_cmd.py @@ -89,7 +89,7 @@ class desktop_cmd(share_cmd): %self.getStringIncompatibleOptions() self.optobj.error(errMsg) return False - if optObj.v or optObj.varsfilter: + if optObj.v or optObj.filter or optObj.xml: if args: if len(args)>1: errMsg = _("incorrect argument")+":" + " %s" %" ".join(args) @@ -125,6 +125,17 @@ class desktop_cmd(share_cmd): # Проверка на существование пользователя if not self.logicObj.existsUser(userName): return False + if not optObj.v: + if optObj.filter: + errMsg = _("incorrect option") + ":" + " %s" %"--filter" +\ + ": " + _("use with option '-v'") + self.optobj.error(errMsg) + return False + if optObj.xml: + errMsg = _("incorrect option") + ":" + " %s" %"--xml" +\ + ": " + _("use with option '-v'") + self.optobj.error(errMsg) + return False return optObj, args def setUserName(self, userName): diff --git a/pym/cl_share_cmd.py b/pym/cl_share_cmd.py index 1b5c1ed..df82189 100644 --- a/pym/cl_share_cmd.py +++ b/pym/cl_share_cmd.py @@ -25,24 +25,25 @@ lang().setLanguage(sys.modules[__name__]) class share_cmd(color_print, _error): """Класс общих методов обработки опций командной строки""" - + def printVars(self, optObj): """Печать переменных""" if optObj.v: - self.logicObj.printVars() - # Печать фильтрованных переменных - elif optObj.varsfilter: - optCmd = optObj.varsfilter - varsFilter=None + varsFilter = None varsNames = [] - if ',' in optCmd: - varsNames = optCmd.split(",") - elif '*' in optCmd: - varsFilter = optCmd.replace("*", ".*") - else: - varsNames.append(optCmd) - self.logicObj.printVars(varsFilter, varsNames) - return True + format = "default" + # Фильтрование переменных + if optObj.filter: + optCmd = optObj.filter + if ',' in optCmd: + varsNames = optCmd.split(",") + elif '*' in optCmd: + varsFilter = optCmd.replace("*", ".*") + else: + varsNames.append(optCmd) + if optObj.xml: + format = "xml" + self.logicObj.printVars(varsFilter, varsNames, outFormat=format) def setVars(self, optObj): """Установка переменных""" diff --git a/scripts/cl-desktop b/scripts/cl-desktop index 9470f9c..1b50156 100644 --- a/scripts/cl-desktop +++ b/scripts/cl-desktop @@ -49,7 +49,7 @@ if __name__ == "__main__": # Печать переменных obj.printVars(opts) # Если нет печати переменных выполняем логику программы - if not opts.v and not opts.varsfilter: + if not opts.v and not opts.filter and not opts.xml: if opts.install: # Наложение шаблонов на систему при инсталяции if not obj.install():