File: //usr/lib/python3.6/site-packages/certbot/_internal/__pycache__/updater.cpython-36.pyc
3
گa� � @ s� d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm Z
ddlmZ dd l
mZ eje�Zejeje
jdd
�dd�Zejejejdd
�dd�Zejejejdd�dd�Zejejejdd�dd�Zejejejdd�dd�ZdS )zUpdaters run at renewal� N)�
configuration)�errors)�
interfaces)�storage)�disco)� selection)�enhancements)�config�lineage�plugins�returnc C st | j rtjd� dS ytj| |�}W n. tjk
rR } ztjd|� dS d}~X nX |rpt||| � t ||| � 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_selZget_unprepared_installerr �Error�error�
_run_updaters�_run_enhancement_updaters)r r
r � installer�e� r �/usr/lib/python3.6/updater.py�run_generic_updaters s
r )r r
r r c C sB | j rtjd� dS | j r2t|tj�r2|j|� 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 Z
RenewDeployerZrenew_deploy�_run_enhancement_deployers)r r
r r r r �run_renewal_deployer, s
r )r
r r r c C s |j st|tj�r|j| � dS )a: Helper function to run the updater interface methods if supported by the
used installer plugin.
:param lineage: Certificate lineage object
:type lineage: storage.RenewableCert
:param installer: Installer object
:type installer: interfaces.Installer
:returns: `None`
:rtype: None
N)r r r ZGenericUpdaterZgeneric_updates)r
r r r r r r G s r c C sF |j r
dS x6tjD ],}t||d �r|d rt||d �| � qW dS )a� Iterates through known enhancement interfaces. If the installer implements
an enhancement interface and the enhance interface has an updater method, the
updater method gets run.
:param lineage: Certificate lineage object
:type lineage: storage.RenewableCert
:param installer: Installer object
:type installer: interfaces.Installer
:param config: Configuration object
:type config: certbot.configuration.NamespaceConfig
N�classZupdater_function)r r �_INDEXr �getattr)r
r r �enhr r r r Z s
r c C sF |j r
dS x6tjD ],}t||d �r|d rt||d �| � qW dS )a� Iterates through known enhancement interfaces. If the installer implements
an enhancement interface and the enhance interface has an deployer method, the
deployer method gets run.
:param lineage: Certificate lineage object
:type lineage: storage.RenewableCert
:param installer: Installer object
:type installer: interfaces.Installer
:param config: Configuration object
:type config: certbot.configuration.NamespaceConfig
Nr Zdeployer_function)r r r r r )r
r r r! r r r r q s
r )�__doc__ZloggingZcertbotr r r Zcertbot._internalr Zcertbot._internal.pluginsr Zplugin_discor r Zcertbot.pluginsr Z getLogger�__name__r ZNamespaceConfigZ
RenewableCertZPluginsRegistryr Z Installerr r r r r r r r �<module> s&