Giter VIP home page Giter VIP logo

certbot-dns-henet's People

Contributors

gentoo-root avatar marsoft avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

certbot-dns-henet's Issues

Incompatibility with Python 3.5 (Ubuntu 16.04 and derivates)

Ubuntu 16.04 ships with Python 3.5.2.

Unfortunately, Literal String Interpolations (f'string{variable}' - or simply "f-strings") were added in PEP-498, in Python 3.6.

Thus, trying to run this on Ubuntu 16.04 will raise a Syntax Error exception:

$ python3 setup.py test
running test
running egg_info
writing dependency_links to certbot_dns_henet.egg-info/dependency_links.txt
writing requirements to certbot_dns_henet.egg-info/requires.txt
writing entry points to certbot_dns_henet.egg-info/entry_points.txt
writing certbot_dns_henet.egg-info/PKG-INFO
writing top-level names to certbot_dns_henet.egg-info/top_level.txt
reading manifest file 'certbot_dns_henet.egg-info/SOURCES.txt'
writing manifest file 'certbot_dns_henet.egg-info/SOURCES.txt'
running build_ext
Traceback (most recent call last):
  File "setup.py", line 42, in <module>
	'dns-henet = certbot_dns_henet.dns_henet:Authenticator',
  File "/usr/lib/python3.5/distutils/core.py", line 148, in setup
	dist.run_commands()
  File "/usr/lib/python3.5/distutils/dist.py", line 955, in run_commands
	self.run_command(cmd)
  File "/usr/lib/python3.5/distutils/dist.py", line 974, in run_command
	cmd_obj.run()
  File "/usr/lib/python3/dist-packages/setuptools/command/test.py", line 211, in run
	self.run_tests()
  File "/usr/lib/python3/dist-packages/setuptools/command/test.py", line 234, in run_tests
	**exit_kwarg
  File "/usr/lib/python3.5/unittest/main.py", line 93, in __init__
	self.parseArgs(argv)
  File "/usr/lib/python3.5/unittest/main.py", line 123, in parseArgs
	self._do_discovery([])
  File "/usr/lib/python3.5/unittest/main.py", line 228, in _do_discovery
	self.test = loader.discover(self.start, self.pattern, self.top)
  File "/usr/lib/python3.5/unittest/loader.py", line 341, in discover
	tests = list(self._find_tests(start_dir, pattern))
  File "/usr/lib/python3.5/unittest/loader.py", line 398, in _find_tests
	full_path, pattern, namespace)
  File "/usr/lib/python3.5/unittest/loader.py", line 475, in _find_test_path
	tests = self.loadTestsFromModule(package, pattern=pattern)
  File "/usr/lib/python3/dist-packages/setuptools/command/test.py", line 43, in loadTestsFromModule
	tests.append(self.loadTestsFromName(submodule))
  File "/usr/lib/python3.5/unittest/loader.py", line 153, in loadTestsFromName
	module = __import__(module_name)
  File "/home/user/certbot-dns-henet/certbot_dns_henet/dns_henet.py", line 119
	_logger.error(f'Failed to remove the Record with id={record_id}.')
																	^
SyntaxError: invalid syntax

Solution

Fix the plugin

Someone needs to submit a patch to change "f-strings" to older string formatting methods like %-formatting, str.format or str.format

Update the Python on the OS

Install a newer Python version via PPA for Ubuntu 16.04, like from the Deadsnakes PPA. Here I installed 3.7:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.7 python3.7-dev

# setup alternatives properly, so we can revert to 3.5 in case we encounter issues 
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
update-alternatives --config python3 # select 3.7

sudo pip3 install -U setuptools beautifulsoup4 cryptography # we need the compatible packages

This might leave you with a broken Python3 on your system, so be very careful

2 Factor Support?

I think it is probably impossible to hack in 2 Factor Support ... but it would still be nice!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.