  
  class FullPaths(argparse.Action):  # pylint: disable=too-few-public-methods
      """ Expand user- and relative-paths """
      def __call__(self, parser, namespace, values, option_string=None):
          setattr(namespace, self.dest, os.path.abspath(
              os.path.expanduser(values)))
  
  
  class DirFullPaths(FullPaths):
      """ Class that gui uses to determine if you need to open a directory """
      # pylint: disable=too-few-public-methods,unnecessary-pass
 
</s> remove         super(FileFullPaths, self).__init__(option_strings, dest, **kwargs)
        if nargs is not None:
            raise ValueError("nargs not allowed")
 </s> add         super().__init__(option_strings, dest, nargs, **kwargs) </s> remove from lib.cli import (ContextFullPaths, DirFullPaths,
                     FileFullPaths, SaveFileFullPaths, Radio, Slider)
 </s> add from lib.cli import (ContextFullPaths, DirFullPaths, FileFullPaths, FilesFullPaths,
                     SaveFileFullPaths, Radio, Slider)
        if isinstance(values, (list, tuple)):
            vals = [os.path.abspath(os.path.expanduser(val)) for val in values]
        else:
            vals = os.path.abspath(os.path.expanduser(values))
        setattr(namespace, self.dest, vals)
  
  class FullPaths(argparse.Action):  # pylint: disable=too-few-public-methods
      """ Expand user- and relative-paths """
      def __call__(self, parser, namespace, values, option_string=None):
        if isinstance(values, (list, tuple)):
            vals = [os.path.abspath(os.path.expanduser(val)) for val in values]
        else:
            vals = os.path.abspath(os.path.expanduser(values))
        setattr(namespace, self.dest, vals)
        if isinstance(values, (list, tuple)):
            vals = [os.path.abspath(os.path.expanduser(val)) for val in values]
        else:
            vals = os.path.abspath(os.path.expanduser(values))
        setattr(namespace, self.dest, vals)
  
  
  class DirFullPaths(FullPaths):
      """ Class that gui uses to determine if you need to open a directory """
      # pylint: disable=too-few-public-methods,unnecessary-pass
keep keep keep keep replace replace keep keep keep keep keep
 Alignments Tool: Allow merging of many alignments file

Adds multi select functionality to GUI, meaning multiple alignments files can now be selected for merging.

Extract: nFilter, Filter now have a file dialog in gui for selecting 1/multiple files 
lib/cli.py