      def output_faces(self, frame):
          """ Output the frame's faces to file """
          face_count = 0
          frame_fullname = frame["frame_fullname"]
          frame_name = frame["frame_name"]
          extension = os.path.splitext(frame_fullname)[1]
 
</s> remove             output = "{}_{}{}".format(frame_name, str(idx), ".png")
            self.frames.save_image(self.faces_dir, output, face.aligned_face)
 </s> add             output = "{}_{}{}".format(frame_name, str(idx), extension)
            if self.type == "large":
                self.frames.save_image(self.faces_dir, output, face.aligned_face)
            else:
                output = os.path.join(self.faces_dir, output)
                f_hash = self.extracted_faces.save_face_with_hash(output,
                                                                  extension,
                                                                  face.aligned_face)
                self.alignments.data[frame_fullname][idx]["hash"] = f_hash </s> remove     def process_faces(self, filename, faces, save_queue):
        """ Perform processing on found faces """
 </s> add     def output_faces(self, filename, faces, save_queue):
        """ Output faces to save thread """ </s> remove         for frame in tqdm(self.frames.file_list_sorted,
                          desc="Saving extracted faces"):

 </s> add         for frame in tqdm(self.frames.file_list_sorted, desc="Saving extracted faces"):
        logger.trace("Outputting frame: %s", frame)
      def output_faces(self, frame):
          """ Output the frame's faces to file """
        logger.trace("Outputting frame: %s", frame)
          face_count = 0
          frame_fullname = frame["frame_fullname"]
          frame_name = frame["frame_name"]
          extension = os.path.splitext(frame_fullname)[1]
keep add 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