diff options
| author | Andy Kittner <andkit@gmx.de> | 2011-01-27 00:21:21 +0100 |
|---|---|---|
| committer | Paul Varner <fuzzyray@gentoo.org> | 2011-01-28 11:26:32 -0600 |
| commit | 01d40ffed91033119bae05dac5c9cea86b94aa2e (patch) | |
| tree | e2235319997db40a4cac2f3f02395dcb0c69c2a8 | |
| parent | 809fc667867c33ef1cb829af7f9061431605e3ab (diff) | |
| download | gentoolkit-01d40ffed91033119bae05dac5c9cea86b94aa2e.tar.gz | |
Fix unicode vs. bytes issue in glsa-check (#341293)
| -rwxr-xr-x | bin/glsa-check | 17 | ||||
| -rw-r--r-- | pym/gentoolkit/glsa/__init__.py | 1 |
2 files changed, 11 insertions, 7 deletions
diff --git a/bin/glsa-check b/bin/glsa-check index a8c0188..a35375b 100755 --- a/bin/glsa-check +++ b/bin/glsa-check @@ -358,7 +358,7 @@ if mode == "mail": import portage_mail import socket - from io import StringIO + from io import BytesIO try: from email.mime.text import MIMEText except ImportError: @@ -380,11 +380,13 @@ if mode == "mail": mysubject = "[glsa-check] Summary for %s" % socket.getfqdn() # need a file object for summarylist() - myfd = StringIO() - myfd.write("GLSA Summary report for host %s\n" % socket.getfqdn()) - myfd.write("(Command was: %s)\n\n" % " ".join(sys.argv)) + myfd = BytesIO() + line = "GLSA Summary report for host %s\n" % socket.getfqdn() + myfd.write(line.encode("utf-8")) + line = "(Command was: %s)\n\n" % " ".join(sys.argv) + myfd.write(line.encode("utf-8")) summarylist(glsalist, fd1=myfd, fd2=myfd) - summary = str(myfd.getvalue()) + summary = myfd.getvalue().decode("utf-8") myfd.close() myattachments = [] @@ -395,9 +397,10 @@ if mode == "mail": if verbose: sys.stderr.write(("invalid GLSA: %s (error message was: %s)\n" % (myid, e))) continue - myfd = StringIO() + myfd = BytesIO() myglsa.dump(outstream=myfd) - myattachments.append(MIMEText(str(myfd.getvalue()), _charset="utf8")) + attachment = myfd.getvalue().decode("utf-8") + myattachments.append(MIMEText(attachment, _charset="utf8")) myfd.close() if glsalist or not quiet: diff --git a/pym/gentoolkit/glsa/__init__.py b/pym/gentoolkit/glsa/__init__.py index ab03947..af97ac6 100644 --- a/pym/gentoolkit/glsa/__init__.py +++ b/pym/gentoolkit/glsa/__init__.py @@ -622,6 +622,7 @@ class Glsa: @param outfile: Stream that should be used for writing (defaults to sys.stdout) """ + outstream = getattr(outstream, "buffer", outstream) outstream = codecs.getwriter(encoding)(outstream) width = int(self.config["PRINTWIDTH"]) outstream.write(center("GLSA %s: \n%s" % (self.nr, self.title), width)+"\n") |
