code: def interactive_prompt(message, parameters, default_opts):
      
  
      # pretty-print the message
      lines = message.split('\n')
      max_line_len = max([len(l) for l in lines])
  
      print('-' * max_line_len)
      print(message)
      print('-' * max_line_len)
  
      ret = {}
      for param in parameters:
          formatted_param = param
          prompt_str = '{}: '.format(formatted_param)
          if param in default_opts:
              prompt_str = '{} (default: "{}"): '.format(formatted_param, default_opts[param])
  
          try:
              value = raw_input(prompt_str)
          except KeyboardInterrupt:
              log.debug('Exiting on keyboard interrupt')
              sys.exit(0)
  
          if len(value) > 0:
              ret[param] = value
          elif param in default_opts:
              ret[param] = default_opts[param]
          else:
              ret[param] = None
  
      return ret
docs: Prompt the user for a series of parameters
      Return a dict mapping the parameter name to the
      user-given value.