          logger.debug("Alignments: %s", retval)
          return retval
  
      def process(self):
          """ Main processing function of the Align tool """
          if self.args.job == "update-hashes":
              job = UpdateHashes
          elif self.args.job.startswith("remove-"):
              job = RemoveAlignments
          elif self.args.job in("missing-alignments", "missing-frames",
 
</s> remove         elif self.args.job in("missing-alignments", "missing-frames",
                              "multi-faces", "leftover-faces", "no-faces"):
 </s> add         elif self.args.job in ("missing-alignments", "missing-frames",
                               "multi-faces", "leftover-faces", "no-faces"): </s> remove     def load_alignments(self):
        """ Loading alignments """
 </s> add     def _load_alignments(self):
        """ Loads the given alignments file(s) prior to running the selected job.

        Returns
        -------
        :class:`~tools.alignments.media.AlignmentData` or list
            The alignments data formatted for use by the alignments tool. If multiple alignments
            files have been selected, then this will be a list of
            :class:`~tools.alignments.media.AlignmentData` objects
        """ </s> remove class Alignments():
    """ Perform tasks relating to alignments file """
 </s> add class Alignments():  # pylint:disable=too-few-public-methods
    """ The main entry point for Faceswap's Alignments Tool. This tool is part of the Faceswap
    Tools suite and should be called from the ``python tools.py alignments`` command.

    The tool allows for manipulation, and working with Faceswap alignments files.

    Parameters
    ----------
    arguments: :class:`argparse.Namespace`
        The :mod:`argparse` arguments as passed in from :mod:`tools.py`
    """ </s> remove         self.alignments = self.load_alignments()
 </s> add         self.alignments = self._load_alignments() </s> remove    tools
 </s> add    tools/tools
        """ The entry point for the Alignments tool from :mod:`lib.tools.alignments.cli`.

        Launches the selected alignments job.
        """
        if self.args.job == "manual":
            logger.warning("The 'manual' job is deprecated and will be removed from a future "
                           "update. Please use the new 'manual' tool.")
          logger.debug("Alignments: %s", retval)
          return retval
  
      def process(self):
        """ The entry point for the Alignments tool from :mod:`lib.tools.alignments.cli`.

        Launches the selected alignments job.
        """
        if self.args.job == "manual":
            logger.warning("The 'manual' job is deprecated and will be removed from a future "
                           "update. Please use the new 'manual' tool.")
          if self.args.job == "update-hashes":
              job = UpdateHashes
          elif self.args.job.startswith("remove-"):
              job = RemoveAlignments
          elif self.args.job in("missing-alignments", "missing-frames",
keep keep keep keep replace keep keep keep keep keep
 Manual Tool (#1038)

Initial Commit 
tools/alignments/alignments.py