Only import secrets when available

secrets got introduced in python 3.6 so this class is not available
in 3.5 and before.

This now checks for the current running version and only tries using
secrets if the version is 3.6 or above

Signed-Off-By: Matthias Kesler <krombel@krombel.de>
pull/14/head
Krombel 6 years ago
parent e9b2d047f6
commit 254e8267e2
  1. 1
      changelog.d/3626.bugfix
  2. 7
      synapse/secrets.py

@ -0,0 +1 @@
Only import secrets when available (fix for py < 3.6)

@ -20,17 +20,16 @@ See https://docs.python.org/3/library/secrets.html#module-secrets for the API
used in Python 3.6, and the API emulated in Python 2.7. used in Python 3.6, and the API emulated in Python 2.7.
""" """
import six import sys
if six.PY3: # secrets is available since python 3.6
if sys.version_info[0:2] >= (3, 6):
import secrets import secrets
def Secrets(): def Secrets():
return secrets return secrets
else: else:
import os import os
import binascii import binascii

Loading…
Cancel
Save