          """ Return a list of frames with legacy rotations
              Looks for an 'r' value in the alignments file that
              is not zero """
          keys = list()
          for key, val in self.data.items():
              if any(alignment.get("r", None) for alignment in val):
                  keys.append(key)
          logger.debug("Got alignments containing legacy rotations: %s", len(keys))
 
</s> remove             print("WARNING: There are rotated frames in the alignments "
                  "file.\n\t Position of faces will not be correctly "
                  "calculated for these frames.\n\t You should run rotation "
                  "tool to update the file prior to running sort:\n\t "
                  "'python tools.py alignments -j rotate -a "
                  "<alignments_file> -fr <frames_folder>'")
 </s> add             logger.error("There are rotated frames in the alignments "
                         "file. Position of faces will not be correctly "
                         "calculated for these frames. You should run rotation "
                         "tool to update the file prior to running sort: "
                         "'python tools.py alignments -j rotate -a "
                         "<alignments_file> -fr <frames_folder>'") </s> remove     exclude_names = [os.path.basename(Path(x).stem[:Path(x).stem.rfind('_')] +
                                      Path(x).suffix) for x in exclude]
 </s> add 
        logger.debug("Getting alignments containing legacy rotations")
          """ Return a list of frames with legacy rotations
              Looks for an 'r' value in the alignments file that
              is not zero """
        logger.debug("Getting alignments containing legacy rotations")
          keys = list()
          for key, val in self.data.items():
              if any(alignment.get("r", None) for alignment in val):
                  keys.append(key)
          logger.debug("Got alignments containing legacy rotations: %s", len(keys))
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