diff --git a/routine.py b/routine.py index f6db9e9211ea3d1f392a06f4a63130e8ad6d708c..1cdb4300949adeffd8fd1118fae52501d6827253 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: