          """ yield each frame in alignments that does
              not have a matching file """
          self.output_message = "Missing frames that are in alignments file"
          frames = [item["frame_fullname"] for item in self.items]
          for frame in tqdm(self.alignments.data.keys(),
                            total=len(self.alignments.frames_count)):
              if frame not in frames:
                  yield frame
  
      def get_leftover_faces(self):
          """yield each face that isn't in the alignments file."""
 
</s> remove         for face in tqdm(self.items, total=len(self.items)):
            frame = self.alignments.get_full_frame_name(face["frame_name"])
            alignment_faces = self.alignments.count_faces_in_frame(frame)

            if alignment_faces <= face["face_index"]:
 </s> add         for face in tqdm(self.items, desc=self.output_message):
            f_hash = face["face_hash"]
            if not self.alignments.hashes_to_frame.get(f_hash, None):
                logger.debug("Returning: '%s'", face["face_fullname"]) </s> remove         for frame in tqdm(self.items, total=len(self.items)):
 </s> add         for frame in tqdm(self.items, desc=self.output_message): </s> remove         for frame in tqdm(self.items, total=len(self.items)):
 </s> add         for frame in tqdm(self.items, desc=self.output_message):
            logger.trace(frame)
        for frame in tqdm(self.alignments.data.keys(), desc=self.output_message):
          """ yield each frame in alignments that does
              not have a matching file """
          self.output_message = "Missing frames that are in alignments file"
          frames = [item["frame_fullname"] for item in self.items]
        for frame in tqdm(self.alignments.data.keys(), desc=self.output_message):
        for frame in tqdm(self.alignments.data.keys(), desc=self.output_message):
              if frame not in frames:
                  yield frame
  
      def get_leftover_faces(self):
          """yield each face that isn't in the alignments file."""
keep keep keep keep replace 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 
tools/lib_alignments/jobs.py