File: //snap/certbot/4965/lib/python3.12/site-packages/certbot/__pycache__/configuration.cpython-312.pyc
�
N�h�K � �
� d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlm Z ddl
mZ ddl
mZ ddl
mZ dd lmZ dd
lmZ ej$ e� Z G d� dej* � Z G d
� d� Zdeddfd�Zdedefd�Zy)z$Certbot user-supplied configuration.� N)�Any)�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� � ��/build/snapcraft-certbot-c9561b03ef7f16aa90eb6754ca5f17a1/parts/certbot/install/lib/python3.12/site-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&ede'e fd+�� Z(edefd,�� Z)edefd-�� Z*edefd.�� Z+edee fd/�� Z,edee fd0�� Z-edee fd1�� Z.edefd2�� Z/d3edefd4�Z0edefd5�� Z1edefd6�� Z2edefd7�� Z3edefd8�� Z4edefd9�� Z5edefd:�� Z6edefd;�� Z7edefd<�� Z8edefd=�� Z9d>e
dd fd?�Z:y)@�NamespaceConfiga 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`
- `in_progress_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__<