New upstream release.
Debian Janitor
2 years ago
0 | 0 | Metadata-Version: 2.1 |
1 | 1 | Name: certbot-dns-dnsimple |
2 | Version: 1.3.0 | |
2 | Version: 1.15.0 | |
3 | 3 | Summary: DNSimple DNS Authenticator plugin for Certbot |
4 | 4 | Home-page: https://github.com/certbot/certbot |
5 | 5 | Author: Certbot Project |
6 | Author-email: client-dev@letsencrypt.org | |
6 | Author-email: certbot-dev@eff.org | |
7 | 7 | License: Apache License 2.0 |
8 | 8 | Description: UNKNOWN |
9 | 9 | Platform: UNKNOWN |
13 | 13 | Classifier: License :: OSI Approved :: Apache Software License |
14 | 14 | Classifier: Operating System :: POSIX :: Linux |
15 | 15 | Classifier: Programming Language :: Python |
16 | Classifier: Programming Language :: Python :: 2 | |
17 | Classifier: Programming Language :: Python :: 2.7 | |
18 | 16 | Classifier: Programming Language :: Python :: 3 |
19 | Classifier: Programming Language :: Python :: 3.5 | |
20 | 17 | Classifier: Programming Language :: Python :: 3.6 |
21 | 18 | Classifier: Programming Language :: Python :: 3.7 |
22 | 19 | Classifier: Programming Language :: Python :: 3.8 |
20 | Classifier: Programming Language :: Python :: 3.9 | |
23 | 21 | Classifier: Topic :: Internet :: WWW/HTTP |
24 | 22 | Classifier: Topic :: Security |
25 | 23 | Classifier: Topic :: System :: Installation/Setup |
26 | 24 | Classifier: Topic :: System :: Networking |
27 | 25 | Classifier: Topic :: System :: Systems Administration |
28 | 26 | Classifier: Topic :: Utilities |
29 | Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.* | |
27 | Requires-Python: >=3.6 | |
30 | 28 | Provides-Extra: docs |
2 | 2 | completing a ``dns-01`` challenge (`~acme.challenges.DNS01`) by creating, and |
3 | 3 | subsequently removing, TXT records using the DNSimple API. |
4 | 4 | |
5 | .. note:: | |
6 | The plugin is not installed by default. It can be installed by heading to | |
7 | `certbot.eff.org <https://certbot.eff.org/instructions#wildcard>`_, choosing your system and | |
8 | selecting the Wildcard tab. | |
5 | 9 | |
6 | 10 | Named Arguments |
7 | 11 | --------------- |
0 | 0 | """DNS Authenticator for DNSimple DNS.""" |
1 | 1 | import logging |
2 | from typing import Optional | |
2 | 3 | |
3 | 4 | from lexicon.providers import dnsimple |
4 | 5 | import zope.interface |
7 | 8 | from certbot import interfaces |
8 | 9 | from certbot.plugins import dns_common |
9 | 10 | from certbot.plugins import dns_common_lexicon |
11 | from certbot.plugins.dns_common import CredentialsConfiguration | |
10 | 12 | |
11 | 13 | logger = logging.getLogger(__name__) |
12 | 14 | |
25 | 27 | ttl = 60 |
26 | 28 | |
27 | 29 | def __init__(self, *args, **kwargs): |
28 | super(Authenticator, self).__init__(*args, **kwargs) | |
29 | self.credentials = None | |
30 | super().__init__(*args, **kwargs) | |
31 | self.credentials: Optional[CredentialsConfiguration] = None | |
30 | 32 | |
31 | 33 | @classmethod |
32 | 34 | def add_parser_arguments(cls, add): # pylint: disable=arguments-differ |
33 | super(Authenticator, cls).add_parser_arguments(add, default_propagation_seconds=30) | |
35 | super().add_parser_arguments(add, default_propagation_seconds=30) | |
34 | 36 | add('credentials', help='DNSimple credentials INI file.') |
35 | 37 | |
36 | 38 | def more_info(self): # pylint: disable=missing-function-docstring |
53 | 55 | self._get_dnsimple_client().del_txt_record(domain, validation_name, validation) |
54 | 56 | |
55 | 57 | def _get_dnsimple_client(self): |
58 | if not self.credentials: # pragma: no cover | |
59 | raise errors.Error("Plugin has not been prepared.") | |
56 | 60 | return _DNSimpleLexiconClient(self.credentials.conf('token'), self.ttl) |
57 | 61 | |
58 | 62 | |
62 | 66 | """ |
63 | 67 | |
64 | 68 | def __init__(self, token, ttl): |
65 | super(_DNSimpleLexiconClient, self).__init__() | |
69 | super().__init__() | |
66 | 70 | |
67 | 71 | config = dns_common_lexicon.build_lexicon_config('dnssimple', { |
68 | 72 | 'ttl': ttl, |
0 | 0 | Metadata-Version: 2.1 |
1 | 1 | Name: certbot-dns-dnsimple |
2 | Version: 1.3.0 | |
2 | Version: 1.15.0 | |
3 | 3 | Summary: DNSimple DNS Authenticator plugin for Certbot |
4 | 4 | Home-page: https://github.com/certbot/certbot |
5 | 5 | Author: Certbot Project |
6 | Author-email: client-dev@letsencrypt.org | |
6 | Author-email: certbot-dev@eff.org | |
7 | 7 | License: Apache License 2.0 |
8 | 8 | Description: UNKNOWN |
9 | 9 | Platform: UNKNOWN |
13 | 13 | Classifier: License :: OSI Approved :: Apache Software License |
14 | 14 | Classifier: Operating System :: POSIX :: Linux |
15 | 15 | Classifier: Programming Language :: Python |
16 | Classifier: Programming Language :: Python :: 2 | |
17 | Classifier: Programming Language :: Python :: 2.7 | |
18 | 16 | Classifier: Programming Language :: Python :: 3 |
19 | Classifier: Programming Language :: Python :: 3.5 | |
20 | 17 | Classifier: Programming Language :: Python :: 3.6 |
21 | 18 | Classifier: Programming Language :: Python :: 3.7 |
22 | 19 | Classifier: Programming Language :: Python :: 3.8 |
20 | Classifier: Programming Language :: Python :: 3.9 | |
23 | 21 | Classifier: Topic :: Internet :: WWW/HTTP |
24 | 22 | Classifier: Topic :: Security |
25 | 23 | Classifier: Topic :: System :: Installation/Setup |
26 | 24 | Classifier: Topic :: System :: Networking |
27 | 25 | Classifier: Topic :: System :: Systems Administration |
28 | 26 | Classifier: Topic :: Utilities |
29 | Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.* | |
27 | Requires-Python: >=3.6 | |
30 | 28 | Provides-Extra: docs |
0 | setuptools>=39.0.1 | |
1 | zope.interface | |
0 | 2 | acme>=0.31.0 |
1 | 3 | certbot>=1.1.0 |
2 | mock | |
3 | setuptools | |
4 | zope.interface | |
5 | 4 | dns-lexicon>=3.2.1 |
6 | 5 | |
7 | 6 | [docs] |
0 | python-certbot-dns-dnsimple (1.3.0-2) UNRELEASED; urgency=low | |
0 | python-certbot-dns-dnsimple (1.15.0-1) UNRELEASED; urgency=low | |
1 | 1 | |
2 | 2 | * Set upstream metadata fields: Bug-Database, Bug-Submit, Repository, |
3 | 3 | Repository-Browse. |
4 | * New upstream release. | |
4 | 5 | |
5 | -- Debian Janitor <janitor@jelmer.uk> Sat, 18 Jul 2020 21:34:18 -0000 | |
6 | -- Debian Janitor <janitor@jelmer.uk> Fri, 28 May 2021 03:09:29 -0000 | |
6 | 7 | |
7 | 8 | python-certbot-dns-dnsimple (1.3.0-1) unstable; urgency=medium |
8 | 9 |
92 | 92 | # a list of builtin themes. |
93 | 93 | # |
94 | 94 | |
95 | # http://docs.readthedocs.org/en/latest/theme.html#how-do-i-use-this-locally-and-on-read-the-docs | |
95 | # https://docs.readthedocs.io/en/stable/faq.html#i-want-to-use-the-read-the-docs-theme-locally | |
96 | 96 | # on_rtd is whether we are on readthedocs.org |
97 | 97 | on_rtd = os.environ.get('READTHEDOCS', None) == 'True' |
98 | 98 | if not on_rtd: # only import and set the theme if we're building docs locally |
110 | 110 | # Add any paths that contain custom static files (such as style sheets) here, |
111 | 111 | # relative to this directory. They are copied after the builtin static files, |
112 | 112 | # so a file named "default.css" will overwrite the builtin "default.css". |
113 | html_static_path = ['_static'] | |
113 | #html_static_path = ['_static'] | |
114 | 114 | |
115 | 115 | |
116 | 116 | # -- Options for HTMLHelp output ------------------------------------------ |
21 | 21 | echo.may add the Sphinx directory to PATH. |
22 | 22 | echo. |
23 | 23 | echo.If you don't have Sphinx installed, grab it from |
24 | echo.http://sphinx-doc.org/ | |
24 | echo.https://www.sphinx-doc.org/ | |
25 | 25 | exit /b 1 |
26 | 26 | ) |
27 | 27 |
2 | 2 | |
3 | 3 | from setuptools import find_packages |
4 | 4 | from setuptools import setup |
5 | from setuptools.command.test import test as TestCommand | |
6 | 5 | |
7 | version = '1.3.0' | |
6 | version = '1.15.0' | |
8 | 7 | |
9 | 8 | # Remember to update local-oldest-requirements.txt when changing the minimum |
10 | 9 | # acme/certbot version. |
11 | 10 | install_requires = [ |
12 | 'acme>=0.31.0', | |
13 | 'certbot>=1.1.0', | |
14 | 'mock', | |
15 | 'setuptools', | |
11 | 'setuptools>=39.0.1', | |
16 | 12 | 'zope.interface', |
17 | 13 | ] |
14 | ||
15 | if not os.environ.get('SNAP_BUILD'): | |
16 | install_requires.extend([ | |
17 | 'acme>=0.31.0', | |
18 | 'certbot>=1.1.0', | |
19 | ]) | |
20 | elif 'bdist_wheel' in sys.argv[1:]: | |
21 | raise RuntimeError('Unset SNAP_BUILD when building wheels ' | |
22 | 'to include certbot dependencies.') | |
23 | if os.environ.get('SNAP_BUILD'): | |
24 | install_requires.append('packaging') | |
18 | 25 | |
19 | 26 | # This package normally depends on dns-lexicon>=3.2.1 to address the |
20 | 27 | # problem described in https://github.com/AnalogJ/lexicon/issues/387, |
33 | 40 | 'sphinx_rtd_theme', |
34 | 41 | ] |
35 | 42 | |
36 | class PyTest(TestCommand): | |
37 | user_options = [] | |
38 | ||
39 | def initialize_options(self): | |
40 | TestCommand.initialize_options(self) | |
41 | self.pytest_args = '' | |
42 | ||
43 | def run_tests(self): | |
44 | import shlex | |
45 | # import here, cause outside the eggs aren't loaded | |
46 | import pytest | |
47 | errno = pytest.main(shlex.split(self.pytest_args)) | |
48 | sys.exit(errno) | |
49 | ||
50 | 43 | setup( |
51 | 44 | name='certbot-dns-dnsimple', |
52 | 45 | version=version, |
53 | 46 | description="DNSimple DNS Authenticator plugin for Certbot", |
54 | 47 | url='https://github.com/certbot/certbot', |
55 | 48 | author="Certbot Project", |
56 | author_email='client-dev@letsencrypt.org', | |
49 | author_email='certbot-dev@eff.org', | |
57 | 50 | license='Apache License 2.0', |
58 | python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*', | |
51 | python_requires='>=3.6', | |
59 | 52 | classifiers=[ |
60 | 53 | 'Development Status :: 5 - Production/Stable', |
61 | 54 | 'Environment :: Plugins', |
63 | 56 | 'License :: OSI Approved :: Apache Software License', |
64 | 57 | 'Operating System :: POSIX :: Linux', |
65 | 58 | 'Programming Language :: Python', |
66 | 'Programming Language :: Python :: 2', | |
67 | 'Programming Language :: Python :: 2.7', | |
68 | 59 | 'Programming Language :: Python :: 3', |
69 | 'Programming Language :: Python :: 3.5', | |
70 | 60 | 'Programming Language :: Python :: 3.6', |
71 | 61 | 'Programming Language :: Python :: 3.7', |
72 | 62 | 'Programming Language :: Python :: 3.8', |
63 | 'Programming Language :: Python :: 3.9', | |
73 | 64 | 'Topic :: Internet :: WWW/HTTP', |
74 | 65 | 'Topic :: Security', |
75 | 66 | 'Topic :: System :: Installation/Setup', |
89 | 80 | 'dns-dnsimple = certbot_dns_dnsimple._internal.dns_dnsimple:Authenticator', |
90 | 81 | ], |
91 | 82 | }, |
92 | tests_require=["pytest"], | |
93 | test_suite='certbot_dns_dnsimple', | |
94 | cmdclass={"test": PyTest}, | |
95 | 83 | ) |
1 | 1 | |
2 | 2 | import unittest |
3 | 3 | |
4 | import mock | |
4 | try: | |
5 | import mock | |
6 | except ImportError: # pragma: no cover | |
7 | from unittest import mock # type: ignore | |
5 | 8 | from requests.exceptions import HTTPError |
6 | 9 | |
7 | 10 | from certbot.compat import os |
16 | 19 | dns_test_common_lexicon.BaseLexiconAuthenticatorTest): |
17 | 20 | |
18 | 21 | def setUp(self): |
19 | super(AuthenticatorTest, self).setUp() | |
22 | super().setUp() | |
20 | 23 | |
21 | 24 | from certbot_dns_dnsimple._internal.dns_dnsimple import Authenticator |
22 | 25 |