text: from __future__ import with_statement
  
  import threading
  import sys
  
  # Implementation of Ticker class
  class Ticker(threading.Thread):
      def __init__(self, msg):
          threading.Thread.__init__(self)
          self.msg = msg
          self.event = threading.Event()
      def __enter__(self):
          self.start()
      def __exit__(self, ex_type, ex_value, ex_traceback):
          self.event.set()
          self.join()
      def run(self):
          sys.stdout.write(self.msg)
          while not self.event.isSet():
              sys.stdout.write(".")
              sys.stdout.flush()
              self.event.wait(1)
  
  # Here's how we use it...
  if __name__ == '__main__':
      import time
      with Ticker("A test"):
          time.sleep(10)
      with Ticker("Second test"):
          time.sleep(5)
          raise Exception("Bang!")
  