a }|äg‹ã@sðdZddlZddlmZddlmZddlmZddlmZddlm Z ddlm Z dd l mZe e¡Zejeje jdd œd d „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 Csz|jrt d¡dSzt ||¡}Wn4tjyX}zt d|¡WYd}~dSd}~00|rvt|||ƒt |||ƒdS)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_runÚloggerÚdebugÚplug_selZget_unprepared_installerrÚErrorÚerrorÚ _run_updatersÚ_run_enhancement_updaters)r r r Ú installerÚe©rú=/usr/lib/python3.9/site-packages/certbot/_internal/updater.pyÚrun_generic_updaterss   r)r r rr cCs@|jrt d¡dS|js0t|tjƒr0| |¡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 rrÚdisable_renew_updatesÚ isinstancerZ RenewDeployerZ renew_deployÚ_run_enhancement_deployers)r r rrrrÚrun_renewal_deployer,s  ÿ r)r rr r cCs |jst|tjƒr| |¡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)rrrZGenericUpdaterZgeneric_updates)r rr rrrrGs rcCsB|jr dStjD],}t||dƒr|drt||dƒ|ƒqdS)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©rrZ_INDEXrÚgetattr©r rr ZenhrrrrZs  rcCsB|jr dStjD],}t||dƒr|drt||dƒ|ƒqdS)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 NrZdeployer_functionrr!rrrrqs  r)Ú__doc__ZloggingZcertbotrrrZcertbot._internalrZcertbot._internal.pluginsrZ plugin_discorrZcertbot.pluginsrZ getLoggerÚ__name__rZNamespaceConfigZ RenewableCertZPluginsRegistryrZ InstallerrrrrrrrrÚs0        ÿ ÿ ÿ ÿ ÿ