diff --git a/pym/cl_desktop.py b/pym/cl_desktop.py index 38187d7..7bf9074 100644 --- a/pym/cl_desktop.py +++ b/pym/cl_desktop.py @@ -97,12 +97,9 @@ class share(color_print): else: return dirsFiles - def printVars(self, opts=["all"]): + def printVars(self, *arg, **argv): """Печать существующих переменных""" - if opts == ["all"]: - self.clVars.printVars() - else: - self.clVars.printVars(opts) + self.clVars.printVars(*arg, **argv) class desktop(share): """Методы работы с профилем пользователя""" diff --git a/pym/cl_desktop_cmd.py b/pym/cl_desktop_cmd.py index 32724ba..01cfbe5 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: + if optObj.v or optObj.varsfilter: if args: if len(args)>1: errMsg = _("incorrect argument")+":" + " %s" %" ".join(args) diff --git a/pym/cl_share_cmd.py b/pym/cl_share_cmd.py index 49a9a53..1b5c1ed 100644 --- a/pym/cl_share_cmd.py +++ b/pym/cl_share_cmd.py @@ -25,10 +25,24 @@ 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 + varsNames = [] + if ',' in optCmd: + varsNames = optCmd.split(",") + elif '*' in optCmd: + varsFilter = optCmd.replace("*", ".*") + else: + varsNames.append(optCmd) + self.logicObj.printVars(varsFilter, varsNames) + return True def setVars(self, optObj): """Установка переменных""" diff --git a/scripts/cl-desktop b/scripts/cl-desktop index a6a5ebf..9470f9c 100644 --- a/scripts/cl-desktop +++ b/scripts/cl-desktop @@ -34,7 +34,6 @@ if __name__ == "__main__": if ret is False: sys.exit(1) opts, args = ret - if len(args) > 0: userName = args[0] else: @@ -50,7 +49,7 @@ if __name__ == "__main__": # Печать переменных obj.printVars(opts) # Если нет печати переменных выполняем логику программы - if not opts.v: + if not opts.v and not opts.varsfilter: if opts.install: # Наложение шаблонов на систему при инсталяции if not obj.install():