          return [(name, getattr(self, name)) for name in names]
  
  
  class DirOrFileFullPaths(FileFullPaths):  # pylint: disable=too-few-public-methods
      """ Class that the gui uses to determine that the input can take a folder or a filename.
          Inherits functionality from FileFullPaths
          Has the effect of giving the user 2 Open Dialogue buttons in the gui """
 
</s> remove         setattr(namespace, self.dest, os.path.abspath(
            os.path.expanduser(values)))
 </s> add         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) </s> remove                     "\n'merge': Merge multiple alignment files into one. Specify the main"
                    "\n\talignments file with the -a flag and the file to be merged with the"
                    "\n\t-a2 flag."
 </s> add                     "\n'merge': Merge multiple alignment files into one. Specify a space "
                    "\n\tseparated list of alignments files with the -a flag." </s> remove             args = ['"{}"'.format(arg) if " " in arg else arg for arg in args]
 </s> add             args = ['"{}"'.format(arg) if " " in arg and not arg.startswith(("[", "("))
                    and not arg.endswith(("]", ")")) else arg
                    for arg in args] </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)
class FilesFullPaths(FileFullPaths):  # pylint: disable=too-few-public-methods
    """ Class that the gui uses to determine that the input can take multiple files as an input.
        Inherits functionality from FileFullPaths
        Has the effect of giving the user 2 Open Dialogue buttons in the gui """
    pass


          return [(name, getattr(self, name)) for name in names]
  
  
class FilesFullPaths(FileFullPaths):  # pylint: disable=too-few-public-methods
    """ Class that the gui uses to determine that the input can take multiple files as an input.
        Inherits functionality from FileFullPaths
        Has the effect of giving the user 2 Open Dialogue buttons in the gui """
    pass


  class DirOrFileFullPaths(FileFullPaths):  # pylint: disable=too-few-public-methods
      """ Class that the gui uses to determine that the input can take a folder or a filename.
          Inherits functionality from FileFullPaths
          Has the effect of giving the user 2 Open Dialogue buttons in the gui """
keep keep add 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