mirror of
https://github.com/certbot/certbot.git
synced 2026-01-26 07:41:33 +03:00
certbot.interfaces: reintroduce empty zope interfaces (#9486)
* reintroduce certbot.interfaces.I* classes * add wiki link
This commit is contained in:
@@ -14,7 +14,12 @@ Certbot adheres to [Semantic Versioning](https://semver.org/).
|
||||
|
||||
### Fixed
|
||||
|
||||
*
|
||||
* `IPluginFactory`, `IPlugin`, `IAuthenticator` and `IInstaller` have been re-added to
|
||||
`certbot.interfaces`.
|
||||
- This is to fix compatibility with a number of third-party DNS plugins which may
|
||||
have started erroring with `AttributeError` in Certbot v2.0.0.
|
||||
- Plugin authors can find more information about Certbot 2.x compatibility
|
||||
[here](https://github.com/certbot/certbot/wiki/Certbot-v2.x-Plugin-Compatibility).
|
||||
|
||||
More details about these changes can be found on our GitHub repo.
|
||||
|
||||
|
||||
@@ -16,6 +16,11 @@ from acme.client import ClientV2
|
||||
from certbot import configuration
|
||||
from certbot.achallenges import AnnotatedChallenge
|
||||
|
||||
try:
|
||||
from zope.interface import Interface as ZopeInterface
|
||||
except ImportError:
|
||||
ZopeInterface = object
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from certbot._internal.account import Account
|
||||
|
||||
@@ -465,3 +470,16 @@ class RenewDeployer(metaclass=ABCMeta):
|
||||
:type lineage: RenewableCert
|
||||
|
||||
"""
|
||||
|
||||
|
||||
class IPluginFactory(ZopeInterface):
|
||||
"""Compatibility shim for plugins that still use Certbot's old zope.interface classes."""
|
||||
|
||||
class IPlugin(ZopeInterface):
|
||||
"""Compatibility shim for plugins that still use Certbot's old zope.interface classes."""
|
||||
|
||||
class IAuthenticator(IPlugin):
|
||||
"""Compatibility shim for plugins that still use Certbot's old zope.interface classes."""
|
||||
|
||||
class IInstaller(IPlugin):
|
||||
"""Compatibility shim for plugins that still use Certbot's old zope.interface classes."""
|
||||
|
||||
Reference in New Issue
Block a user