Of course, maintaining compatibility with python2 would be better... so the attached is a nicer plan for dealing with the encoding to subprocess.
cheers Stuart -- Stuart Prescott -- www.nanonanonano.net
diff --git a/lib/debian/deb822.py b/lib/debian/deb822.py index 88ef6e1..2531d05 100644 --- a/lib/debian/deb822.py +++ b/lib/debian/deb822.py @@ -816,7 +816,7 @@ class GpgInfo(dict): p = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, - universal_newlines=True) + universal_newlines=False) # XXX what to do with exit code? if isinstance(sequence, bytes): @@ -825,7 +825,8 @@ class GpgInfo(dict): inp = cls._get_full_string(sequence) out, err = p.communicate(inp) - return cls.from_output(out, err) + return cls.from_output(out.decode('utf-8'), + err.decode('utf-8')) @staticmethod def _get_full_string(sequence):