docs: def get_input(self, key, force=False):
          """ Get the value of <key> if it already exists, or prompt for it if not """
          if key not in self._inputs:
              raise InputException("Key {0} is not a valid input!".format(key))
  
          if self._inputs[key].prompt:
              prompt = self._inputs[key].prompt
          elif self._inputs[key].is_bool():
              prompt = "{0}?".format(key)
          else:
              prompt = "please enter your {0}".format(key)
          help_text = self._inputs[key].help if hasattr(self._inputs[key], 'help') else None
  
          if self._inputs[key].value is EMPTY or force:
  
              default_value = None
              if self._inputs[key].default is not EMPTY:
                  default_value = self._inputs[key].default
              if self._inputs[key].value is not EMPTY:
                  default_value = self._inputs[key].value
  
              input_value = EMPTY
              while input_value is EMPTY or input_value == '?':
                  if input_value == '?' and help_text:
                      print(help_text)
                  input_value = lib.prompt(
                      prompt,
                      default=default_value,
                      bool_type=self._inputs[key].in_type,
                      secret=self._inputs[key].is_secret)
              self._inputs[key].value = input_value
  
          return self._inputs[key].value