      def _get_no_faces(self):
          """ yield each frame that has no face match in alignments file """
          self.output_message = "Frames with no faces"
          for frame in tqdm(self._items, desc=self.output_message):
              logger.trace(frame)
              frame_name = frame["frame_fullname"]
              if not self._alignments.frame_has_faces(frame_name):
                  logger.debug("Returning: '%s'", frame_name)
                  yield frame_name
  
 
</s> remove             logger.trace("Returning: '%s'", retval)
 </s> add             logger.trace("Returning: '%s'", retval)  # type:ignore </s> remove             logger.trace("Returning: '%s'", filename)
 </s> add             logger.trace("Returning: '%s'", filename)  # type:ignore </s> remove                 logger.verbose("Skipping '%s' - Alignments not found", frame_name)
 </s> add                 logger.verbose("Skipping '%s' - Alignments not found", frame_name)  # type:ignore </s> remove         logger.trace("items_output: %s", items_output)
 </s> add         logger.trace("items_output: %s", items_output)  # type:ignore </s> remove         logger.trace("Annotating frame: '%s'", frame_name)
 </s> add         logger.trace("Annotating frame: '%s'", frame_name)  # type:ignore
            logger.trace(frame)  # type:ignore
      def _get_no_faces(self):
          """ yield each frame that has no face match in alignments file """
          self.output_message = "Frames with no faces"
          for frame in tqdm(self._items, desc=self.output_message):
            logger.trace(frame)  # type:ignore
              frame_name = frame["frame_fullname"]
              if not self._alignments.frame_has_faces(frame_name):
                  logger.debug("Returning: '%s'", frame_name)
                  yield frame_name
  
keep keep keep keep replace keep keep keep keep keep
 Bugfix: Alignments tool - don't error on from-faces job 
tools/alignments/jobs.py