          for item in tqdm(self._items, desc=self.output_message):
              if not self._alignments.frame_has_multiple_faces(item["source_filename"]):
                  continue
              retval = (item["current_filename"], item["face_index"])
              logger.trace("Returning: '%s'", retval)
              yield retval
  
      def _get_missing_alignments(self):
          """ yield each frame that does not exist in alignments file """
          self.output_message = "Frames missing from alignments file"
 
</s> remove             logger.trace(frame)
 </s> add             logger.trace(frame)  # type:ignore </s> remove             logger.trace("Returning: '%s'", filename)
 </s> add             logger.trace("Returning: '%s'", filename)  # type:ignore </s> remove         logger.trace("Extracted alignments file filename: '%s'", retval)
 </s> add         logger.trace("Extracted alignments file filename: '%s'", retval)  # type:ignore </s> remove     def _extract_alignment(self, metadata: dict) -> Tuple[str, int, dict]:
 </s> add     def _extract_alignment(self, metadata: dict) -> Tuple[str, int, AlignmentFileDict]: </s> remove         logger.trace("items_output: %s", items_output)
 </s> add         logger.trace("items_output: %s", items_output)  # type:ignore
            logger.trace("Returning: '%s'", retval)  # type:ignore
          for item in tqdm(self._items, desc=self.output_message):
              if not self._alignments.frame_has_multiple_faces(item["source_filename"]):
                  continue
              retval = (item["current_filename"], item["face_index"])
            logger.trace("Returning: '%s'", retval)  # type:ignore
              yield retval
  
      def _get_missing_alignments(self):
          """ yield each frame that does not exist in alignments file """
          self.output_message = "Frames missing from alignments file"
keep keep keep keep replace keep keep keep keep keep
 Bugfix: Alignments tool - don't error on from-faces job 
tools/alignments/jobs.py