]> granicus.if.org Git - python/commitdiff
Add a note that this file should be kept compatible with Python 1.5.2,
authorThomas Heller <theller@ctypes.org>
Mon, 25 Nov 2002 20:21:59 +0000 (20:21 +0000)
committerThomas Heller <theller@ctypes.org>
Mon, 25 Nov 2002 20:21:59 +0000 (20:21 +0000)
per PEP 291 (although there are currently string methods used).

This patch makes it compatible with 2.2, at least, by detecting
universal newline support.

Tools/freeze/modulefinder.py

index 5886e7be21b8e81b8a499572a198c85b779c2b3d..48f2eca1e56145c12f67161fec8e8ffead79ef6a 100644 (file)
@@ -1,5 +1,7 @@
 """Find modules used by a script, using introspection."""
 
+# This module should be kept compatible with Python 1.5.2, see PEP 291.
+
 import dis
 import imp
 import marshal
@@ -127,14 +129,20 @@ class ModuleFinder:
 
     def run_script(self, pathname):
         self.msg(2, "run_script", pathname)
-        fp = open(pathname, "U")
+        if hasattr(sys.stdout, "newlines"): # detect universal newline support
+            fp = open(pathname, "U")
+        else:
+            fp = open(pathname, "r")
         stuff = ("", "r", imp.PY_SOURCE)
         self.load_module('__main__', fp, pathname, stuff)
 
     def load_file(self, pathname):
         dir, name = os.path.split(pathname)
         name, ext = os.path.splitext(name)
-        fp = open(pathname, "U")
+        if hasattr(sys.stdout, "newlines"):
+            fp = open(pathname, "U")
+        else:
+            fp = open(pathname, "r")
         stuff = (ext, "r", imp.PY_SOURCE)
         self.load_module(name, fp, pathname, stuff)