�
E��c� � � � d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm Z
ddlmZ dd l
mZ ej e� � Zd
ej dej de
j d
dfd�Zd
ej dej dej d
dfd�Zdej dej d
ej d
dfd�Zdej dej d
ej d
dfd�Zdej dej d
ej d
dfd�ZdS )zUpdaters run at renewal� N)�
configuration)�errors)�
interfaces)�storage)�disco)� selection)�enhancements�config�lineage�plugins�returnc �6 � | j rt � d� � dS t j | |� � }n8# t
j $ r&}t � d|� � Y d}~dS d}~ww xY w|r$t ||| � � t ||| � � dS dS )as Run updaters that the plugin supports
:param config: Configuration object
:type config: certbot.configuration.NamespaceConfig
:param lineage: Certificate lineage object
:type lineage: storage.RenewableCert
:param plugins: List of plugins
:type plugins: certbot._internal.plugins.disco.PluginsRegistry
:returns: `None`
:rtype: None
z"Skipping updaters in dry-run mode.Nz4Could not choose appropriate plugin for updaters: %s)
�dry_run�logger�debug�plug_sel�get_unprepared_installerr �Error�error�
_run_updaters�_run_enhancement_updaters)r
r r � installer�es �;/usr/lib/python3/dist-packages/certbot/_internal/updater.py�run_generic_updatersr s� � � �~� ����9�:�:�:�����5�f�g�F�F� � ���<� � � ����K�Q�O�O�O��������������� � >��g�y�&�1�1�1�!�'�9�f�=�=�=�=�=�>� >s �; �A0�
A+�+A0r c �� � | j rt � d� � dS | j s/t |t
j � � r|� |� � t ||| � � dS )a� Helper function to run deployer interface method if supported by the used
installer plugin.
:param config: Configuration object
:type config: certbot.configuration.NamespaceConfig
:param lineage: Certificate lineage object
:type lineage: storage.RenewableCert
:param installer: Installer object
:type installer: interfaces.Installer
:returns: `None`
:rtype: None
z*Skipping renewal deployer in dry-run mode.N) r r r �disable_renew_updates�
isinstancer �
RenewDeployer�renew_deploy�_run_enhancement_deployers)r
r r s r �run_renewal_deployerr" |