|
9 | 9 | import sys |
10 | 10 | import new |
11 | 11 |
|
| 12 | +if hasattr(sys.__stdout__, "newlines"): |
| 13 | + READ_MODE = "U" # universal line endings |
| 14 | +else: |
| 15 | + # remain compatible with Python < 2.3 |
| 16 | + READ_MODE = "r" |
| 17 | + |
12 | 18 | IMPORT_NAME = dis.opname.index('IMPORT_NAME') |
13 | 19 | IMPORT_FROM = dis.opname.index('IMPORT_FROM') |
14 | 20 | STORE_NAME = dis.opname.index('STORE_NAME') |
@@ -95,20 +101,14 @@ def msgout(self, *args): |
95 | 101 |
|
96 | 102 | def run_script(self, pathname): |
97 | 103 | self.msg(2, "run_script", pathname) |
98 | | - if hasattr(sys.stdout, "newlines"): # detect universal newline support |
99 | | - fp = open(pathname, "U") |
100 | | - else: |
101 | | - fp = open(pathname, "r") |
| 104 | + fp = open(pathname, READ_MODE) |
102 | 105 | stuff = ("", "r", imp.PY_SOURCE) |
103 | 106 | self.load_module('__main__', fp, pathname, stuff) |
104 | 107 |
|
105 | 108 | def load_file(self, pathname): |
106 | 109 | dir, name = os.path.split(pathname) |
107 | 110 | name, ext = os.path.splitext(name) |
108 | | - if hasattr(sys.stdout, "newlines"): |
109 | | - fp = open(pathname, "U") |
110 | | - else: |
111 | | - fp = open(pathname, "r") |
| 111 | + fp = open(pathname, READ_MODE) |
112 | 112 | stuff = (ext, "r", imp.PY_SOURCE) |
113 | 113 | self.load_module(name, fp, pathname, stuff) |
114 | 114 |
|
|
0 commit comments