  
      def align(self, *args, **kwargs):
          """ Perform alignments on detected faces """
          super().align(*args, **kwargs)
          while True:
              item = self.queues["in"].get()
              if item == "EOF":
                  break
              if item.get("exception", False):
                  self.queues["out"].put(item)
                  break
 
</s> remove                 break
            if item.get("exception", False):
                self.queues["out"].put(item)
 </s> add                 self.finalize(item) </s> remove         try:
            while True:
                # NB: There appears to be a bug somewhere that re-inserts the first item (after
                # detecting landmarks) back into the in queue. This happens consistently when -mp
                # is not set, only appears to happen for the first item and always places it in
                # the same place. It doesn't effect output, but should be squashed.
                item = self.queues["in"].get()
                if item == "EOF":
                    break
                if item.get("exception", False):
                    self.queues["out"].put(item)
                    break
                image = item["image"][:, :, ::-1].copy()
                item["landmarks"] = self.process_landmarks(image, item["detected_faces"])
 </s> add         for item in self.get_item():
            if item == "EOF": </s> remove             item = self.queues["in"].get()
 </s> add             item = self.get_item() </s> remove         try:
            while True:
                item = self.queues["in"].get()
                if item in ("EOF", "END"):
                    self.queues["in"].put("END")
                    break

                filename, image = item
                detect_image = self.compile_detection_image(image, True, True)
 </s> add         while True:
            item = self.get_item()
            if item == "EOF":
                break
            logger.trace("Detecting faces: %s", item["filename"])
            detect_image = self.compile_detection_image(item["image"], True, True) </s> remove         print("Initialized Dlib Pose Predictor.")
 </s> add         logger.info("Initialized Dlib Pose Predictor.")
        for item in self.get_item():
  
      def align(self, *args, **kwargs):
          """ Perform alignments on detected faces """
          super().align(*args, **kwargs)
        for item in self.get_item():
        for item in self.get_item():
              if item == "EOF":
                  break
              if item.get("exception", False):
                  self.queues["out"].put(item)
                  break
keep keep keep keep replace replace 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 
plugins/extract/align/dlib.py