diff --git a/tclCommands/TclCommandListSys.py b/tclCommands/TclCommandListSys.py new file mode 100644 index 00000000..87d5a761 --- /dev/null +++ b/tclCommands/TclCommandListSys.py @@ -0,0 +1,56 @@ +from tclCommands.TclCommand import * + + +class TclCommandListSys(TclCommand): + """ + Tcl shell command to get the list of system variables + + example: + list_sys + """ + + # List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon) + aliases = ['list_sys', 'listsys'] + + # Dictionary of types from Tcl command, needs to be ordered + arg_names = collections.OrderedDict([ + ('selection', str), + ]) + + # Dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value + option_types = collections.OrderedDict([ + + ]) + + # array of mandatory options for current Tcl command: required = {'name','outname'} + required = [] + + # structured help for current command, args needs to be ordered + help = { + 'main': "Returns the list of the names of system variables.\n" + "Without an argument it will list all the system parameters. " + "As an argument use first letter or first letters from the name " + "of the system variable.\n" + "In that case it will list only the system variables that starts with that string.\n" + "Main categories start with: gerber or excellon or geometry or cncjob or global.\n" + "Note: Use get_sys TclCommand to get the value and set_sys TclCommand to set it.\n", + 'args': collections.OrderedDict([ + ]), + 'examples': ['list_sys', + 'list_sys ser' + 'list_sys gerber', + 'list_sys cncj'] + } + + def execute(self, args, unnamed_args): + """ + + :param args: + :param unnamed_args: + :return: + """ + if 'selection' in args: + argument = args['selection'] + return str([k for k in self.app.defaults.keys() if str(k).startswith(str(argument))]) + else: + return str([*self.app.defaults]) \ No newline at end of file diff --git a/tclCommands/__init__.py b/tclCommands/__init__.py index c1ffc809..bb646c84 100644 --- a/tclCommands/__init__.py +++ b/tclCommands/__init__.py @@ -26,6 +26,7 @@ import tclCommands.TclCommandInteriors import tclCommands.TclCommandIsolate import tclCommands.TclCommandJoinExcellon import tclCommands.TclCommandJoinGeometry +import tclCommands.TclCommandListSys import tclCommands.TclCommandMillHoles import tclCommands.TclCommandMirror import tclCommands.TclCommandNew