From 8fb11f1b33cb1cad4656609219c31ad4b6315459 Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Sun, 18 Jun 2017 18:58:24 +0200 Subject: [PATCH] If using python 3, decode the output of Popen communicate() then needed --- routine.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/routine.py b/routine.py index f6db9e9..1cdb430 100755 --- a/routine.py +++ b/routine.py @@ -46,9 +46,10 @@ DNSSEC_DSFROMKEY = "/usr/sbin/dnssec-dsfromkey" DNSSEC_KEYGEN = "/usr/sbin/dnssec-keygen" RNDC = "/usr/sbin/rndc" +_PY3 = sys.version_info.major >= 3 def _print(data, file=sys.stdout): - if sys.version_info.major >= 3 and isinstance(data, bytes): + if _PY3 and isinstance(data, bytes): data = data.decode("utf-8") print(data, file=file) @@ -73,6 +74,8 @@ def settime(path, flag, date): ] p = subprocess.Popen(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE) err = p.communicate()[1] + if _PY3: + err = err.decode("utf-8") if p.returncode != 0: raise ValueError("err %s: %s" % (p.returncode, err)) if err: @@ -392,6 +395,8 @@ class Key(object): if p.returncode != 0: raise ValueError("The key creation has failed") keyname = p.communicate()[0].strip() + if _PY3: + keyname = keyname.decode("utf-8") bind_chown(path) return cls(os.path.join(path, "%s.private" % keyname)) @@ -402,6 +407,8 @@ class Key(object): ] p = subprocess.Popen(cmd, stderr=subprocess.PIPE) err = p.communicate()[1] + if _PY3: + err = err.decode("utf-8") if p.returncode != 0: raise ValueError("err %s: %s" % (p.returncode, err)) if err: -- GitLab