  
  class OptionalActions():
      """ Process the optional actions for convert """
  
      def __init__(self, args, input_images):
          self.args = args
          self.input_images = input_images
  
          self.faces_to_swap = self.get_aligned_directory()
  
 
</s> remove 
        self.faces_to_swap = self.get_aligned_directory()

 </s> add         self.alignments = alignments </s> remove         self.alignments = AlignmentData(self.args.alignments_file,
                                        dest_format)
 </s> add         self.alignments = AlignmentData(self.args.alignments_file, dest_format) </s> remove     def check_skipface(self, filename, face_idx):
        """ Check whether face is to be skipped """
        if self.faces_to_swap is None:
            return False
        face_name = "{}_{}{}".format(Path(filename).stem,
                                     face_idx,
                                     Path(filename).suffix)
        face_file = Path(self.args.input_aligned_dir) / Path(face_name)
        skip_face = face_file not in self.faces_to_swap
        if skip_face:
            logger.info("face %s for frame '%s' was deleted, skipping",
                        face_idx, os.path.basename(filename))
        return skip_face

 </s> add 
    def __init__(self, args, input_images, alignments):
        logger.debug("Initializing %s", self.__class__.__name__)
  
  class OptionalActions():
      """ Process the optional actions for convert """
  
    def __init__(self, args, input_images, alignments):
        logger.debug("Initializing %s", self.__class__.__name__)
          self.args = args
          self.input_images = input_images
  
          self.faces_to_swap = self.get_aligned_directory()
  
keep keep keep keep replace keep keep keep keep keep
 Add Face Hashes to Alignments (#550)

* Convert main scripts to use face hashes

* Alignment tool: Use hashes, add logging, add face rename function

* More logging. Update Manual tool to work with hashing 
scripts/convert.py