Blob Blame History Raw
diff --git a/yum-cron/yum-cron.py b/yum-cron/yum-cron.py
index 23f36d38..fd593d62 100755
--- a/yum-cron/yum-cron.py
+++ b/yum-cron/yum-cron.py
@@ -140,7 +140,11 @@ class UpdateEmitter(object):
         overridden by inheriting classes to emit the messages
         according to their individual methods.
         """
-        pass
+        # Convert any byte strings to unicode objects now (so that we avoid
+        # implicit conversions with the "ascii" codec later when join()-ing the
+        # strings, leading to tracebacks).
+        self.output = [x.decode('utf-8') if isinstance(x, str) else x
+                       for x in self.output]
 
 
 class EmailEmitter(UpdateEmitter):
@@ -220,6 +224,7 @@ class EmailEmitter(UpdateEmitter):
         """Combine the stored messages that have been stored into a
         single email message, and send this message.
         """
+        super(EmailEmitter, self).sendMessages()
         # Don't send empty emails
         if not self.output:
             return
@@ -262,6 +267,7 @@ class StdIOEmitter(UpdateEmitter):
         """Combine the stored messages that have been stored into a
         single email message, and send this message to standard output.
         """
+        super(StdIOEmitter, self).sendMessages()
         # Don't print blank lines
         if not self.output:
             return