certbot.cli
¶
Certbot command line argument & config processing.
-
certbot.cli.
report_config_interaction
(modified, modifiers)[source]¶ Registers config option interaction to be checked by set_by_cli.
This function can be called by during the __init__ or add_parser_arguments methods of plugins to register interactions between config options.
Parameters: - modified (iterable or str (string_types)) – config options that can be modified by modifiers
- modifiers (iterable or str (string_types)) – config options that modify modified
-
class
certbot.cli.
_Default
[source]¶ Bases:
object
A class to use as a default to detect if a value is set by a user
-
certbot.cli.
set_by_cli
(var)[source]¶ Return True if a particular config variable has been set by the user (CLI or config file) including if the user explicitly set it to the default. Returns False if the variable was assigned a default value.
-
certbot.cli.
has_default_value
(option, value)[source]¶ Does option have the default value?
If the default value of option is not known, False is returned.
Parameters: - option (str) – configuration variable being considered
- value – value of the configuration variable named option
Returns: True if option has the default value, otherwise, False
Return type: bool
-
certbot.cli.
option_was_set
(option, value)[source]¶ Was option set by the user or does it differ from the default?
Parameters: - option (str) – configuration variable being considered
- value – value of the configuration variable named option
Returns: True if the option was set, otherwise, False
Return type: bool
-
certbot.cli.
argparse_type
(variable)[source]¶ Return our argparse type function for a config variable (default: str)
-
certbot.cli.
read_file
(filename, mode='rb')[source]¶ Returns the given file’s contents.
Parameters: - filename (str) – path to file
- mode (str) – open mode (see
open
)
Returns: absolute path of filename and its contents
Return type: tuple
Raises: argparse.ArgumentTypeError – File does not exist or is not readable.
-
certbot.cli.
config_help
(name, hidden=False)[source]¶ Extract the help message for an
IConfig
attribute.
-
class
certbot.cli.
HelpfulArgumentGroup
(helpful_arg_parser, topic)[source]¶ Bases:
object
Emulates an argparse group for use with HelpfulArgumentParser.
This class is used in the add_group method of HelpfulArgumentParser. Command line arguments can be added to the group, but help suppression and default detection is applied by HelpfulArgumentParser when necessary.
-
class
certbot.cli.
CustomHelpFormatter
(prog, indent_increment=2, max_help_position=24, width=None)[source]¶ Bases:
argparse.HelpFormatter
This is a clone of ArgumentDefaultsHelpFormatter, with bugfixes.
In particular we fix https://bugs.python.org/issue28742
-
class
certbot.cli.
HelpfulArgumentParser
(args, plugins, detect_defaults=False)[source]¶ Bases:
object
Argparse Wrapper.
This class wraps argparse, adding the ability to make –help less verbose, and request help on specific subcategories at a time, eg ‘certbot –help security’ for security options.
-
_usage_string
(plugins, help_arg)[source]¶ Make usage strings late so that plugins can be initialised late
Parameters: - plugins – all discovered plugins
- help_arg – False for none; True for –help; “TOPIC” for –help TOPIC
Return type: str
Returns: a short usage string for the top of –help TOPIC)
-
remove_config_file_domains_for_renewal
(parsed_args)[source]¶ Make “certbot renew” safe if domains are set in cli.ini.
-
parse_args
()[source]¶ Parses command line arguments and returns the result.
Returns: parsed command line arguments Return type: argparse.Namespace
-
set_test_server
(parsed_args)[source]¶ We have –staging/–dry-run; perform sanity check and set config.server
-
determine_verb
()[source]¶ Determines the verb/subcommand provided by the user.
This function works around some of the limitations of argparse.
-
prescan_for_flag
(flag, possible_arguments)[source]¶ Checks cli input for flags.
Check for a flag, which accepts a fixed set of possible arguments, in the command line; we will use this information to configure argparse’s help correctly. Return the flag’s argument, if it has one that matches the sequence @possible_arguments; otherwise return whether the flag is present.
-
add
(topics, *args, **kwargs)[source]¶ Add a new command line argument.
Parameters: - topics – str or [str] help topic(s) this should be listed under, or None for options that don’t fit under a specific topic which will only be shown in “–help all” output. The first entry determines where the flag lives in the “–help all” output (None -> “optional arguments”).
- *args (list) –
the names of this argument flag
- **kwargs (dict) –
various argparse settings for this argument
-
modify_kwargs_for_default_detection
(**kwargs)[source]¶ Modify an arg so we can check if it was set by the user.
Changes the parameters given to argparse when adding an argument so we can properly detect if the value was set by the user.
Parameters: kwargs (dict) – various argparse settings for this argument Returns: a modified versions of kwargs Return type: dict
-
add_deprecated_argument
(argument_name, num_args)[source]¶ Adds a deprecated argument with the name argument_name.
Deprecated arguments are not shown in the help. If they are used on the command line, a warning is shown stating that the argument is deprecated and no other action is taken.
Parameters: - argument_name (str) – Name of deprecated argument.
- nargs (int) – Number of arguments the option takes.
-
add_group
(topic, verbs=(), **kwargs)[source]¶ Create a new argument group.
This method must be called once for every topic, however, calls to this function are left next to the argument definitions for clarity.
Parameters: - topic (str) – Name of the new argument group.
- verbs (str) – List of subcommands that should be documented as part of this help group / topic
Returns: The new argument group.
Return type:
-
-
certbot.cli.
prepare_and_parse_args
(plugins, args, detect_defaults=False)[source]¶ Returns parsed command line arguments.
Parameters: - plugins (PluginsRegistry) – available plugins
- args (list) – command line arguments with the program name removed
Returns: parsed command line arguments
Return type: argparse.Namespace
-
class
certbot.cli.
CaseInsensitiveList
[source]¶ Bases:
list
A list that will ignore case when searching.
This class is passed to the
choices
argument ofargparse.add_arguments
through thehelpful
wrapper. It is necessary due to special handling of command line arguments byset_by_cli
in which thetype_func
is not applied.
-
class
certbot.cli.
_EncodeReasonAction
(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]¶ Bases:
argparse.Action
Action class for parsing revocation reason.
-
class
certbot.cli.
_DomainsAction
(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]¶ Bases:
argparse.Action
Action class for parsing domains.
-
certbot.cli.
add_domains
(args_or_config, domains)[source]¶ Registers new domains to be used during the current client run.
Domains are not added to the list of requested domains if they have already been registered.
Parameters: - args_or_config (argparse.Namespace or configuration.NamespaceConfig) – parsed command line arguments
- domain (str) – one or more comma separated domains
Returns: domains after they have been normalized and validated
Return type: list
ofstr
-
class
certbot.cli.
_PrefChallAction
(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]¶ Bases:
argparse.Action
Action class for parsing preferred challenges.
-
certbot.cli.
parse_preferred_challenges
(pref_challs)[source]¶ Translate and validate preferred challenges.
Parameters: pref_challs ( list
ofstr
) – list of preferred challenge typesReturns: validated list of preferred challenge types Return type: list
ofstr
Raises: errors.Error – if pref_challs is invalid
-
class
certbot.cli.
_DeployHookAction
(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]¶ Bases:
argparse.Action
Action class for parsing deploy hooks.
-
class
certbot.cli.
_RenewHookAction
(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]¶ Bases:
argparse.Action
Action class for parsing renew hooks.
-
certbot.cli.
nonnegative_int
(value)[source]¶ Converts value to an int and checks that it is not negative.
This function should used as the type parameter for argparse arguments.
Parameters: value (str) – value provided on the command line Returns: integer representation of value Return type: int Raises: argparse.ArgumentTypeError – if value isn’t a non-negative integer