          """ Delete the face alignment for given frame at given index """
          logger.debug("Deleting face %s for frame '%s'", idx, frame)
          idx = int(idx)
          if idx + 1 > self.count_faces_in_frame(frame):
              return False
          del self.data[frame][idx]
          logger.debug("Deleted face")
          return True
  
 
</s> remove         return self.count_faces_in_frame(frame) - 1
 </s> add         retval = self.count_faces_in_frame(frame) - 1
        logger.debug("Returning new face index: %s", retval)
        return retval </s> remove         return len(self.data.get(frame, list()))
 </s> add         retval = len(self.data.get(frame, list()))
        logger.trace(retval)
        return retval
            logger.debug("No face to delete")
          """ Delete the face alignment for given frame at given index """
          logger.debug("Deleting face %s for frame '%s'", idx, frame)
          idx = int(idx)
          if idx + 1 > self.count_faces_in_frame(frame):
            logger.debug("No face to delete")
              return False
          del self.data[frame][idx]
          logger.debug("Deleted face")
          return True
  
keep keep keep add keep keep keep keep keep
 Logging (#541)

* Convert prints to logger. Further logging improvements. Tidy  up

* Fix system verbosity. Allow SystemExit

* Fix reload extract bug

* Child Traceback handling

* Safer shutdown procedure

* Add shutdown event to queue manager

* landmarks_as_xy > property. GUI notes + linting. Aligner bugfix

* fix FaceFilter. Enable nFilter when no Filter is supplied

* Fix blurry face filter

* Continue on IO error. Better error handling

* Explicitly print stack trace tocrash log

* Windows Multiprocessing bugfix

* Add git info and conda version to crash log

* Windows/Anaconda mp bugfix

* Logging fixes for training 
lib/alignments.py