From 254e8267e20ccde19f89eccdfb67b7aaecb32eec Mon Sep 17 00:00:00 2001
From: Krombel <krombel@krombel.de>
Date: Mon, 30 Jul 2018 19:38:38 +0200
Subject: [PATCH] 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>
---
 changelog.d/3626.bugfix | 1 +
 synapse/secrets.py      | 7 +++----
 2 files changed, 4 insertions(+), 4 deletions(-)
 create mode 100644 changelog.d/3626.bugfix

diff --git a/changelog.d/3626.bugfix b/changelog.d/3626.bugfix
new file mode 100644
index 0000000000..9a4b878986
--- /dev/null
+++ b/changelog.d/3626.bugfix
@@ -0,0 +1 @@
+Only import secrets when available (fix for py < 3.6)
diff --git a/synapse/secrets.py b/synapse/secrets.py
index f397daaa5e..f05e9ea535 100644
--- a/synapse/secrets.py
+++ b/synapse/secrets.py
@@ -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.
 """
 
-import six
+import sys
 
-if six.PY3:
+# secrets is available since python 3.6
+if sys.version_info[0:2] >= (3, 6):
     import secrets
 
     def Secrets():
         return secrets
 
-
 else:
-
     import os
     import binascii
 
-- 
GitLab