import subprocess
import re
import sys
-if sys.version_info[0] == 2:
- import StringIO
-else:
- from io import StringIO
-
+from io import StringIO
import util
import os
import pipeutil
cmd = ['/usr/bin/gpg', '--batch', '--no-tty', '--decrypt']
gpg_run = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True)
try:
- d_stdout, d_stderr = gpg_run.communicate(buf.encode('utf-8'))
+ d_stdout, d_stderr = gpg_run.communicate(util.to_bytes(buf))
except OSError as e:
log.error("gnupg run, does gpg binary exist? : %s" % e)
raise
rx = re.compile("^gpg:.*using\s[DR]SA\skey\s(?:ID\s)?(\w+)")
keys = []
- for l in d_stderr.split('\n'):
+ for l in util.to_str(d_stderr).split('\n'):
m = rx.match(l)
if m:
keys.append(m.group(1))
cmd = ['/usr/bin/gpg', '--batch', '--no-tty', '--decrypt']
gpg_run = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True)
try:
- d_stdout, d_stderr = gpg_run.communicate(buf.encode('utf-8'))
+ d_stdout, d_stderr = gpg_run.communicate(util.to_bytes(buf))
except OSError as e:
log.error("gnupg run failed, does gpg binary exist? : %s" % e)
raise
rx = re.compile("^gpg: (Good signature from| aka) .*<([^>]+)>")
emails = []
- for l in d_stderr.split('\n'):
+ for l in util.to_str(d_stderr).split('\n'):
m = rx.match(l)
if m:
emails.append(m.group(2))
# TODO: check for gpg return code!
gpg_run = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True)
try:
- d_stdout, d_stderr = gpg_run.communicate(buf.encode('utf-8'))
+ d_stdout, d_stderr = gpg_run.communicate(util.to_bytes(buf))
except OSError as e:
log.error("gnupg signing failed, does gpg binary exist? : %s" % e)
raise
if len(d_stderr):
- log.error("gpg: %s" % d_stderr)
+ log.error("gpg: %s" % util.to_str(d_stderr))
return d_stdout