X-Git-Url: https://git.tld-linux.org/?p=tld-builder.git;a=blobdiff_plain;f=TLD_Builder%2Fgpg.py;h=92e9b6a3b07a2e3987f3d0abbc83152f1ee52d6c;hp=aeb8ebd4e524a3cf1da1fe35002a17544a792d02;hb=b7bf1e2b6deab33a0a91bbeb14f3dddf701707ba;hpb=b999f53d4bf5d44586ecf028876e8bc20b5fd2ce diff --git a/TLD_Builder/gpg.py b/TLD_Builder/gpg.py index aeb8ebd..92e9b6a 100644 --- a/TLD_Builder/gpg.py +++ b/TLD_Builder/gpg.py @@ -3,7 +3,11 @@ import log import subprocess import re -import StringIO +import sys +if sys.version_info[0] == 2: + import StringIO +else: + from io import StringIO import util import os @@ -16,19 +20,19 @@ def get_keys(buf): if not os.path.isfile('/usr/bin/gpg'): log.error("missing gnupg binary: /usr/bin/gpg") - raise OSError, 'Missing gnupg binary' + raise OSError('Missing gnupg binary') d_stdout = None d_stderr = None 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')) - except OSError, e: + d_stdout, d_stderr = gpg_run.communicate(buf.decode().encode('utf-8')) + except OSError as e: log.error("gnupg run, does gpg binary exist? : %s" % e) raise - rx = re.compile("^gpg: Signature made .*using [DR]SA key ID (.+)") + rx = re.compile("^gpg:.*using\s[DR]SA\skey\s(?:ID\s)?(\w+)") keys = [] for l in d_stderr.split('\n'): @@ -48,15 +52,15 @@ def verify_sig(buf): if not os.path.isfile('/usr/bin/gpg'): log.error("missing gnupg binary: /usr/bin/gpg") - raise OSError, 'Missing gnupg binary' + raise OSError('Missing gnupg binary') d_stdout = None d_stderr = None 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')) - except OSError, e: + d_stdout, d_stderr = gpg_run.communicate(buf.decode().encode('utf-8')) + except OSError as e: log.error("gnupg run failed, does gpg binary exist? : %s" % e) raise @@ -73,7 +77,7 @@ def verify_sig(buf): def sign(buf): if not os.path.isfile('/usr/bin/gpg'): log.error("missing gnupg binary: /usr/bin/gpg") - raise OSError, 'Missing gnupg binary' + raise OSError('Missing gnupg binary') d_stdout = None d_stderr = None @@ -81,8 +85,8 @@ def sign(buf): # 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')) - except OSError, e: + d_stdout, d_stderr = gpg_run.communicate(buf.decode().encode('utf-8')) + except OSError as e: log.error("gnupg signing failed, does gpg binary exist? : %s" % e) raise