M/e,dZddlZddlmZddlmZddlmZddlmZddlm Z ddlm Z dd l mZejeZd ej$d ej&d e j(d dfdZd ej$d ej&dej,d dfdZd ej&dej,d ej$d dfdZd ej&dej,d ej$d dfdZd ej&dej,d ej$d dfdZy)zUpdaters run at renewalN) configuration)errors) interfaces)storage)disco) selection) enhancementsconfiglineagepluginsreturnc|jrtjdy tj||}|rt|||t|||yy#t j $r }tjd|Yd}~yd}~wwxYw)asRun 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_runloggerdebugplug_selget_unprepared_installerrErrorerror _run_updaters_run_enhancement_updaters)r r r installeres ;/usr/lib/python3/dist-packages/certbot/_internal/updater.pyrun_generic_updatersrs| ~~ 9:55fgF gy&1!'9f= << KQOsAB +BB rc|jrtjdy|js+t |t j r|j|t|||y)aHelper 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) rrrdisable_renew_updates isinstancer RenewDeployer renew_deploy_run_enhancement_deployers)r r rs rrun_renewal_deployerr",sQ"~~ AB  ' 'Jy7A7O7O-Qw'w 6:cv|js-t|tjr|j |yyy)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)rrrGenericUpdatergeneric_updates)r rr s rrrGs5  ' ' i!:!: ;  % %g . < (r#c|jrytjD]-}t||ds|dst ||d|/y)aIterates 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 Nclassupdater_functionrr _INDEXrgetattrr rr enhs rrrZsT ##""A iW .37I3J 7GIs#56 7 @Ar#c|jrytjD]-}t||ds|dst ||d|/y)aIterates 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(deployer_functionr*r-s rr!r!qsT ##""B iW .37J3K 8GIs#67 8 ABr#)__doc__loggingcertbotrrrcertbot._internalrcertbot._internal.pluginsr plugin_discorrcertbot.pluginsr getLogger__name__rNamespaceConfig RenewableCertPluginsRegistryr Installerr"rrr!r#rr?sE!%;;(   8 $>!>!>>I^I^>".">">>CG>:;!>!>;I^I^;$.$8$8;=A;6/700/Z=Q=Q/'77/<@/&Aw'<'<AI]I]A&3&C&CAHLA.B(=(=B*J^J^B'4'D'DBIMBr#