old_contents: """Implements a fully blocking kernel client.
  
  Useful for test suites and blocking terminal interfaces.
  """
  # Copyright (c) IPython Development Team.
  # Distributed under the terms of the Modified BSD License.
  
  try:
      from queue import Empty  # Python 3
  except ImportError:
      from Queue import Empty  # Python 2
  
  from IPython.utils.traitlets import Type
  from IPython.kernel.channels import HBChannel
  from IPython.kernel.client import KernelClient
  from .channels import ZMQSocketChannel
  
  class BlockingKernelClient(KernelClient):
      def wait_for_ready(self):
          # Wait for kernel info reply on shell channel
          while True:
              msg = self.shell_channel.get_msg(block=True)
              if msg['msg_type'] == 'kernel_info_reply':
                  self._handle_kernel_info_reply(msg)
                  break
  
          # Flush IOPub channel
          while True:
              try:
                  msg = self.iopub_channel.get_msg(block=True, timeout=0.2)
                  print(msg['msg_type'])
              except Empty:
                  break
  
      # The classes to use for the various channels
      shell_channel_class = Type(ZMQSocketChannel)
      iopub_channel_class = Type(ZMQSocketChannel)
      stdin_channel_class = Type(ZMQSocketChannel)
      hb_channel_class = Type(HBChannel)
  
new_contents: """Implements a fully blocking kernel client.
  
  Useful for test suites and blocking terminal interfaces.
  """
  # Copyright (c) IPython Development Team.
  # Distributed under the terms of the Modified BSD License.
  
  try:
      from queue import Empty  # Python 3
  except ImportError:
      from Queue import Empty  # Python 2
  
  from IPython.utils.traitlets import Type
  from IPython.kernel.channels import HBChannel
  from IPython.kernel.client import KernelClient
  from .channels import ZMQSocketChannel
  
  class BlockingKernelClient(KernelClient):
      def wait_for_ready(self):
          # Wait for kernel info reply on shell channel
          while True:
              msg = self.shell_channel.get_msg(block=True)
              if msg['msg_type'] == 'kernel_info_reply':
                  self._handle_kernel_info_reply(msg)
                  break
  
          # Flush IOPub channel
          while True:
              try:
                  msg = self.iopub_channel.get_msg(block=True, timeout=0.2)
              except Empty:
                  break
  
      # The classes to use for the various channels
      shell_channel_class = Type(ZMQSocketChannel)
      iopub_channel_class = Type(ZMQSocketChannel)
      stdin_channel_class = Type(ZMQSocketChannel)
      hb_channel_class = Type(HBChannel)
  
subject: Remove spurious print statement