�
E��cd- � � � d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ ddl m
Z
ddl mZ dd lm
Z
dd
lmZ ddlmZ G d� d
� � Zdeddfd�ZdS )z$Certbot user-supplied configuration.� N)�Any)�List)�Optional)�parse)�errors)�util)� constants)�misc)�osc � � e Zd ZdZdej ddfd�Zdedefd�Z dededdfd �Z
edefd
�� � Zej
deddfd�� � Zedee fd
�� � Zej
deddfd�� � Zedefd�� � Zej
deddfd�� � Zedefd�� � Zej
deddfd�� � Zedefd�� � Zej
deddfd�� � Zedefd�� � Zedefd�� � Zedefd�� � Zedefd�� � Zedefd�� � Zedefd�� � Zedefd�� � Zedefd �� � Zedefd!�� � Zedefd"�� � Zedefd#�� � Zedefd$�� � Z edefd%�� � Z!ede"e fd&�� � Z#edefd'�� � Z$edefd(�� � Z%edefd)�� � Z&edee fd*�� � Z'edefd+�� � Z(d,edefd-�Z)edefd.�� � Z*edefd/�� � Z+edefd0�� � Z,edefd1�� � Z-edefd2�� � Z.edefd3�� � Z/edefd4�� � Z0edefd5�� � Z1edefd6�� � Z2d7edd fd8�Z3dS )9�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 � � | t � | d|� � t j � | j j � � | j _ t j � | j j � � | j _ t j � | j j � � | j _ t | � � d S )Nr )
�object�__setattr__r �path�abspathr �
config_dir�work_dir�logs_dir�_check_config_sanity)�selfr s �7/usr/lib/python3/dist-packages/certbot/configuration.py�__init__zNamespaceConfig.__init__+ s� � ��*����4��i�8�8�8�$&�G�O�O�D�N�4M�$N�$N���!�"$�'�/�/�$�.�2I�"J�"J����"$�'�/�/�$�.�2I�"J�"J���� �T�"�"�"�"�"� �namec �, � t | j |� � S �N)�getattrr )r r s r �__getattr__zNamespaceConfig.__getattr__9 s � ��t�~�t�,�,�,r �valuec �2 � t | j ||� � d S r )�setattrr )r r r" |