Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/certbot/certbot.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrien Ferrand <adferrand@users.noreply.github.com>2021-12-14 04:38:14 +0300
committerGitHub <noreply@github.com>2021-12-14 04:38:14 +0300
commit89ccbccff0582728faf9c48d1e055bd6d1218d1f (patch)
tree0cbf97bc038348ee706d9c469d92c28ac5016165 /certbot-dns-dnsmadeeasy
parentcb3e1403cdf0b1e00a384c06bdc85b70b2bf0a09 (diff)
Fully type all DNS plugins (#9125)
* Add types in all DNS plugins * Order imports * Fix type * Update certbot-dns-route53/certbot_dns_route53/_internal/dns_route53.py Co-authored-by: alexzorin <alex@zor.io> * Clean up imports Co-authored-by: alexzorin <alex@zor.io>
Diffstat (limited to 'certbot-dns-dnsmadeeasy')
-rw-r--r--certbot-dns-dnsmadeeasy/certbot_dns_dnsmadeeasy/_internal/dns_dnsmadeeasy.py29
1 files changed, 17 insertions, 12 deletions
diff --git a/certbot-dns-dnsmadeeasy/certbot_dns_dnsmadeeasy/_internal/dns_dnsmadeeasy.py b/certbot-dns-dnsmadeeasy/certbot_dns_dnsmadeeasy/_internal/dns_dnsmadeeasy.py
index 628140d06..f089296b0 100644
--- a/certbot-dns-dnsmadeeasy/certbot_dns_dnsmadeeasy/_internal/dns_dnsmadeeasy.py
+++ b/certbot-dns-dnsmadeeasy/certbot_dns_dnsmadeeasy/_internal/dns_dnsmadeeasy.py
@@ -1,8 +1,11 @@
"""DNS Authenticator for DNS Made Easy DNS."""
import logging
+from typing import Any
+from typing import Callable
from typing import Optional
from lexicon.providers import dnsmadeeasy
+from requests import HTTPError
from certbot import errors
from certbot.plugins import dns_common
@@ -24,20 +27,21 @@ class Authenticator(dns_common.DNSAuthenticator):
'DNS).')
ttl = 60
- def __init__(self, *args, **kwargs):
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
super().__init__(*args, **kwargs)
self.credentials: Optional[CredentialsConfiguration] = None
@classmethod
- def add_parser_arguments(cls, add): # pylint: disable=arguments-differ
- super().add_parser_arguments(add, default_propagation_seconds=60)
+ def add_parser_arguments(cls, add: Callable[..., None],
+ default_propagation_seconds: int = 60) -> None:
+ super().add_parser_arguments(add, default_propagation_seconds)
add('credentials', help='DNS Made Easy credentials INI file.')
- def more_info(self): # pylint: disable=missing-function-docstring
+ def more_info(self) -> str:
return 'This plugin configures a DNS TXT record to respond to a dns-01 challenge using ' + \
'the DNS Made Easy API.'
- def _setup_credentials(self):
+ def _setup_credentials(self) -> None:
self.credentials = self._configure_credentials(
'credentials',
'DNS Made Easy credentials INI file',
@@ -49,13 +53,13 @@ class Authenticator(dns_common.DNSAuthenticator):
}
)
- def _perform(self, domain, validation_name, validation):
+ def _perform(self, domain: str, validation_name: str, validation: str) -> None:
self._get_dnsmadeeasy_client().add_txt_record(domain, validation_name, validation)
- def _cleanup(self, domain, validation_name, validation):
+ def _cleanup(self, domain: str, validation_name: str, validation: str) -> None:
self._get_dnsmadeeasy_client().del_txt_record(domain, validation_name, validation)
- def _get_dnsmadeeasy_client(self):
+ def _get_dnsmadeeasy_client(self) -> "_DNSMadeEasyLexiconClient":
if not self.credentials: # pragma: no cover
raise errors.Error("Plugin has not been prepared.")
return _DNSMadeEasyLexiconClient(self.credentials.conf('api-key'),
@@ -68,7 +72,7 @@ class _DNSMadeEasyLexiconClient(dns_common_lexicon.LexiconClient):
Encapsulates all communication with the DNS Made Easy via Lexicon.
"""
- def __init__(self, api_key, secret_key, ttl):
+ def __init__(self, api_key: str, secret_key: str, ttl: int) -> None:
super().__init__()
config = dns_common_lexicon.build_lexicon_config('dnsmadeeasy', {
@@ -80,7 +84,7 @@ class _DNSMadeEasyLexiconClient(dns_common_lexicon.LexiconClient):
self.provider = dnsmadeeasy.Provider(config)
- def _handle_http_error(self, e, domain_name):
+ def _handle_http_error(self, e: HTTPError, domain_name: str) -> Optional[errors.PluginError]:
if domain_name in str(e) and str(e).startswith('404 Client Error: Not Found for url:'):
return None
@@ -88,5 +92,6 @@ class _DNSMadeEasyLexiconClient(dns_common_lexicon.LexiconClient):
if str(e).startswith('403 Client Error: Forbidden for url:'):
hint = 'Are your API key and Secret key values correct?'
- return errors.PluginError('Error determining zone identifier: {0}.{1}'
- .format(e, ' ({0})'.format(hint) if hint else ''))
+ hint_disp = f' ({hint})' if hint else ''
+
+ return errors.PluginError(f'Error determining zone identifier: {e}.{hint_disp}')