certbot.compat.misc module

This compat module handles various platform specific calls that do not fall into one particular category.


On Windows, raise if current shell does not have the administrative rights. Do nothing on Linux.

Raises:errors.Error – If the current shell does not have administrative rights on Windows.
certbot.compat.misc.readline_with_timeout(timeout, prompt)[source]

Read user input to return the first line entered, or raise after specified timeout.

  • timeout (float) – The timeout in seconds given to the user.
  • prompt (str) – The prompt message to display to the user.

The first line entered by the user.

Return type:



Return the relevant default folder for the current OS

Parameters:folder_type (str) – The type of folder to retrieve (config, work or logs)
Returns:The relevant default folder.
Return type:str

Replace unsupported characters in path for current OS by underscores. :param str path: the path to normalize :return: the normalized path :rtype: str

certbot.compat.misc.execute_command(cmd_name, shell_cmd, env=None)[source]
Run a command:
  • on Linux command will be run by the standard shell selected with Popen(shell=True)
  • on Windows command will be run in a Powershell shell
  • cmd_name (str) – the user facing name of the hook being run
  • shell_cmd (str) – shell command to execute
  • env (dict) – environ to pass into Popen

tuple (str stderr, str stdout)