Current File : //proc/self/root/usr/lib/python3/dist-packages/certbot/__pycache__/configuration.cpython-312.pyc |
�
M/�e�J � �* � d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlmZ ddlm Z ddl
mZ ddlZddl
mZ dd l
mZ dd
lmZ ddlmZ ddlmZ ej* e� Z G d
� dej0 � Z G d� d� Zdeddfd�Zdedefd�Zy)z$Certbot user-supplied configuration.� N)�Any)�Dict)�List)�Optional)�parse)�errors)�util)� constants)�misc)�osc �� � e Zd ZdZ ej
� Z ej
� Z ej
� Z ej
� Z ej
� Z
y)�ArgumentSourcez;Enum for describing where a configuration argument was set.N)�__name__�
__module__�__qualname__�__doc__�enum�auto�COMMAND_LINE�CONFIG_FILE�DEFAULT�ENV_VAR�RUNTIME� � �7/usr/lib/python3/dist-packages/certbot/configuration.pyr r sU � �E��4�9�9�;�L�4��$�)�)�+�K�6��d�i�i�k�G�N��d�i�i�k�G�;��d�i�i�k�G�0r r c � � e Zd ZdZdej
ddfd�Zdeee f ddfd�Z
dedefd �Zdeee
f fd
�Zdeddfd�Zedeeee f fd
�� Zdede
fd�Zdede
ddfd�Zedefd�� Zej, deddfd�� Zedee fd�� Zej, deddfd�� Zedefd�� Zej, deddfd�� Zedefd�� Zej, deddfd�� Zedefd�� Zej, deddfd�� Zedefd �� Zedefd!�� Zedefd"�� Zedefd#�� Zedefd$�� Z edefd%�� Z!edefd&�� Z"edefd'�� Z#edefd(�� Z$edefd)�� Z%edefd*�� Z&edefd+�� Z'edefd,�� Z(ede)e fd-�� Z*edefd.�� Z+edefd/�� Z,edefd0�� Z-edee fd1�� Z.edefd2�� Z/d3edefd4�Z0edefd5�� Z1edefd6�� Z2edefd7�� Z3edefd8�� Z4edefd9�� Z5edefd:�� Z6edefd;�� Z7edefd<�� Z8edefd=�� Z9d>e
dd fd?�Z:y)@�NamespaceConfiga4 Configuration wrapper around :class:`argparse.Namespace`.
Please note that the following attributes are dynamically resolved using
:attr:`~certbot.configuration.NamespaceConfig.work_dir` and relative
paths defined in :py:mod:`certbot._internal.constants`:
- `accounts_dir`
- `csr_dir`
- `in_progress_dir`
- `key_dir`
- `temp_checkpoint_dir`
And the following paths are dynamically resolved using
:attr:`~certbot.configuration.NamespaceConfig.config_dir` and relative
paths defined in :py:mod:`certbot._internal.constants`:
- `default_archive_dir`
- `live_dir`
- `renewal_configs_dir`
:ivar namespace: Namespace typically produced by
:meth:`argparse.ArgumentParser.parse_args`.
:type namespace: :class:`argparse.Namespace`
� namespace�returnNc �4 � | t j | d|� t j | dd � t j | di � t j j | j
j � | j
_ t j j | j
j � | j
_ t j j | j
j � | j
_ t | � y )Nr �_argument_sources�_previously_accessed_mutables)
�object�__setattr__r �path�abspathr �
config_dir�work_dir�logs_dir�_check_config_sanity)�selfr s r �__init__zNamespaceConfig.__init__A s� � �����4��i�8����4�!4�d�;����4�!@�"�E�$&�G�G�O�O�D�N�N�4M�4M�$N����!�"$�'�'�/�/�$�.�.�2I�2I�"J�����"$�'�'�/�/�$�.�.�2I�2I�"J����� �T�"r �argument_sourcesc �2 � t j | d|� y)al
Associate the NamespaceConfig with a dictionary describing where each of
its arguments came from, e.g. `{ 'email': ArgumentSource.CONFIG_FILE }`.
This is necessary for making runtime evaluations on whether an argument
was specified by the user or not (see `set_by_user`).
For an example of how to build such a dictionary, see
`certbot._internal.cli.helpful.HelpfulArgumentParser._build_sources_dict`
:ivar argument_sources: dictionary of argument names to their :class:`ArgumentSource`
:type argument_sources: :class:`Dict[str, ArgumentSource]`
r"