소스 검색

Avoid setting default streams that don't support bytestrings. Fixes #687

Jelmer Vernooij 6 년 전
부모
커밋
67e53e9cea
1개의 변경된 파일8개의 추가작업 그리고 6개의 파일을 삭제
  1. 8 6
      dulwich/porcelain.py

+ 8 - 6
dulwich/porcelain.py

@@ -154,12 +154,14 @@ class NoneStream(RawIOBase):
         return None
 
 
-default_bytes_out_stream = getattr(
-        sys.stdout, 'buffer', sys.stdout
-    ) or NoneStream()
-default_bytes_err_stream = getattr(
-        sys.stderr, 'buffer', sys.stderr
-    ) or NoneStream()
+if sys.version_info[0] == 2:
+    default_bytes_out_stream = sys.stdout or NoneStream()
+    default_bytes_err_stream = sys.stderr or NoneStream()
+else:
+    default_bytes_out_stream = (
+        getattr(sys.stdout, 'buffer', None) or NoneStream())
+    default_bytes_err_stream = (
+        getattr(sys.stderr, 'buffer', None) or NoneStream())
 
 
 DEFAULT_ENCODING = 'utf-8'