Use make_stream_binary to turn stdin into a binary stream.
authorThomi Richards <thomi.richards@canonical.com>
Mon, 2 Dec 2013 06:01:18 +0000 (19:01 +1300)
committerThomi Richards <thomi.richards@canonical.com>
Mon, 2 Dec 2013 06:01:18 +0000 (19:01 +1300)
python/subunit/_output.py

index af9dcad..6df6404 100644 (file)
@@ -22,6 +22,7 @@ from optparse import (
 )
 import sys
 
+from subunit import make_stream_binary
 from subunit.iso8601 import UTC
 from subunit.v2 import StreamResultToBytes
 
@@ -131,10 +132,7 @@ def parse_arguments(args=None, ParserClass=OptionParser):
         if options.attach_file == '-':
             if not options.file_name:
                 options.file_name = 'stdin'
-            if sys.version[0] >= '3':
-                options.attach_file = getattr(sys.stdin, 'buffer', sys.stdin)
-            else:
-                options.attach_file = sys.stdin
+                options.attach_file = make_stream_binary(sys.stdin)
         else:
             try:
                 options.attach_file = open(options.attach_file, 'rb')