code: def timeout(timeout_time, default):
          '''
          Decorate a method so it is required to execute in a given time period,
          or return a default value.
          '''
          def timeout_function(f):
              def f2(*args):
                  def timeout_handler(signum, frame):
                      raise MethodTimer.DecoratorTimeout()
  
                  old_handler = signal.signal(signal.SIGALRM, timeout_handler)
                  # triger alarm in timeout_time seconds
                  signal.alarm(timeout_time)
                  try:
                      retval = f(*args)
                  except MethodTimer.DecoratorTimeout:
                      return default
                  finally:
                      signal.signal(signal.SIGALRM, old_handler)
                  signal.alarm(0)
                  return retval
              return f2
          return timeout_functiof timeout(timeout_time, default):
          '''
          Decorate a method so it is required to execute in a given time period,
          or return a default value.
          '''
          def timeout_function(f):
              def f2(*args):
                  def timeout_handler(signum, frame):
                      raise MethodTimer.DecoratorTimeout()
  
                  old_handler = signal.signal(signal.SIGALRM, timeout_handler)
                  # triger alarm in timeout_time seconds
                  signal.alarm(timeout_time)
                  try:
                      retval = f(*args)
                  except MethodTimer.DecoratorTimeout:
                      return default
                  finally:
                      signal.signal(signal.SIGALRM, old_handler)
                  signal.alarm(0)
                  return retval
              return f2
          return timeout_function
docs: Decorate a method so it is required to execute in a given time period,
          or return a default value.