docs: def get_input(prompt, default=None, choices=None, option_value=None):
      """
      If option_value is not None, then return it. Otherwise get the result from 
      input.
      """
      if option_value is not None:
          return option_value
      
      choices = choices or []
      while 1:
          r = raw_input(prompt+' ').strip()
          if not r and default is not None:
              return default
          if choices:
              if r not in choices:
                  r = None
              else:
                  break
          else:
              break
      return r