          if not frame:
              retval = False
          else:
              retval = bool(len(self.data.get(frame, list())) > 1)
          logger.trace(retval)
          return retval
  
      # << DATA >> #
  
      def get_faces_in_frame(self, frame):
 
</s> remove         logger.trace(retval)
 </s> add         logger.trace("'%s': %s", frame, retval) </s> remove         logger.trace(retval)
 </s> add         logger.trace("'%s': %s", frame, retval) </s> remove             yield {"frame_fullname": frame,
                   "frame_name": filename,
                   "frame_extension": file_extension}
 </s> add             retval = {"frame_fullname": frame,
                      "frame_name": filename,
                      "frame_extension": file_extension}
            logger.trace(retval)
            yield retval
        logger.trace("'%s': %s", frame, retval)
          if not frame:
              retval = False
          else:
              retval = bool(len(self.data.get(frame, list())) > 1)
        logger.trace("'%s': %s", frame, retval)
          return retval
  
      # << DATA >> #
  
      def get_faces_in_frame(self, frame):
keep keep keep keep 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 
lib/alignments.py