Author: Philip Jenvey <[email protected]>
Branch: py3k
Changeset: r63346:6b0adc9c8e8f
Date: 2013-04-14 14:38 -0700
http://bitbucket.org/pypy/pypy/changeset/6b0adc9c8e8f/

Log:    refactor

diff --git a/pypy/interpreter/app_main.py b/pypy/interpreter/app_main.py
--- a/pypy/interpreter/app_main.py
+++ b/pypy/interpreter/app_main.py
@@ -260,48 +260,26 @@
 
 def create_stdio(fd, writing, name, encoding, errors, unbuffered):
     import io
-
-    if writing:
-        mode = "wb"
-    else:
-        mode= "rb"
     # stdin is always opened in buffered mode, first because it
     # shouldn't make a difference in common use cases, second because
     # TextIOWrapper depends on the presence of a read1() method which
     # only exists on buffered streams.
-    if writing:
-        buffering = 0
-    else:
-        buffering = -1
-    if sys.platform == 'win32' and not writing:
-        # translate \r\n to \n for sys.stdin on Windows
-        newline = None
-    else:
-        newline = '\n'
+    buffering = 0 if writing else -1
+    mode = 'w' if writing else 'r'
     try:
-        buf = io.open(fd, mode, buffering, closefd=False)
+        buf = io.open(fd, mode + 'b', buffering, closefd=False)
     except OSError as e:
         if e.errno != errno.EBADF:
             raise
         return None
 
-    if buffering:
-        raw = buf.raw
-    else:
-        raw = buf
+    raw = buf.raw if buffering else buf
     raw.name = name
-    if unbuffered or raw.isatty():
-        line_buffering = True
-    else:
-        line_buffering = False
-
-    stream = io.TextIOWrapper(buf, encoding, errors,
-                              newline=newline,
-                              line_buffering=line_buffering)
-    if writing:
-        stream.mode = 'w'
-    else:
-        stream.mode = 'r'
+    # translate \r\n to \n for sys.stdin on Windows
+    newline = None if sys.platform == 'win32' and not writing else '\n'
+    stream = io.TextIOWrapper(buf, encoding, errors, newline=newline,
+                              line_buffering=unbuffered or raw.isatty())
+    stream.mode = mode
     return stream
 
 
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to