          frame = frame_list[navigation["frame_idx"]]["frame_fullname"]
          skip_mode = self.interface.get_skip_mode().lower()
  
          while True:
              if navigation["last_request"] == 0:
                  break
              elif navigation["frame_idx"] in (0, navigation["max_frame"]):
 
</s> remove             frame_key = "frame_name"
 </s> add             frame_key = "face_hash" </s> remove             iterator = list(item[3] for item in iterator())

        for item in tqdm(iterator() if self.type == "faces" else iterator,
                         desc="Processing alignments file",
                         total=self.alignments.frames_count):
            task = getattr(self, "remove_{}".format(self.type))
            del_count += task(item)
 </s> add             logger.debug("Removing Frames")
            for frame in tqdm(list(item[3] for item in self.alignments.yield_faces()),
                              desc="Removing Frames",
                              total=self.alignments.frames_count):
                del_count += task(frame)
        else:
            logger.debug("Removing Faces")
            del_count = task()
        logger.debug("navigation: %s, frame: '%s', skip_mode: '%s'", navigation, frame, skip_mode)
          frame = frame_list[navigation["frame_idx"]]["frame_fullname"]
          skip_mode = self.interface.get_skip_mode().lower()
        logger.debug("navigation: %s, frame: '%s', skip_mode: '%s'", navigation, frame, skip_mode)
  
          while True:
              if navigation["last_request"] == 0:
                  break
              elif navigation["frame_idx"] in (0, navigation["max_frame"]):
keep add 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_manual.py