      def _get_tools_cli_classes():
          """ Parse the tools cli scripts for the argument classes """
          base_path = os.path.realpath(os.path.dirname(sys.argv[0]))
          tools_dir = os.path.join(base_path, "tools")
          mod_classes = dict()
          for tool_name in sorted(os.listdir(tools_dir)):
              cli_file = os.path.join(tools_dir, tool_name, "cli.py")
              if os.path.exists(cli_file):
                  mod = ".".join(("tools", tool_name, "cli"))
                  mod_classes["{}Args".format(tool_name.title())] = import_module(mod)
 
</s> remove                 mod_classes["{}Args".format(tool_name.title())] = import_module(mod)
 </s> add                 mod_classes[f"{tool_name.title()}Args"] = import_module(mod) </s> remove         self.commands = dict()
        self.opts = dict()
 </s> add         self.commands = {}
        self.opts = {} </s> remove         ctl_dict = dict()
 </s> add         ctl_dict = {} </s> remove         subopts = dict()
 </s> add         subopts = {}
        mod_classes = {}
      def _get_tools_cli_classes():
          """ Parse the tools cli scripts for the argument classes """
          base_path = os.path.realpath(os.path.dirname(sys.argv[0]))
          tools_dir = os.path.join(base_path, "tools")
        mod_classes = {}
          for tool_name in sorted(os.listdir(tools_dir)):
              cli_file = os.path.join(tools_dir, tool_name, "cli.py")
              if os.path.exists(cli_file):
                  mod = ".".join(("tools", tool_name, "cli"))
                  mod_classes["{}Args".format(tool_name.title())] = import_module(mod)
keep keep keep keep replace keep keep keep keep keep
 Bugfix: Preview for extract in batch mode 
lib/gui/options.py