refactor universal line endings detection
diff --git a/Tools/freeze/modulefinder.py b/Tools/freeze/modulefinder.py
index 7a97a04..cd03db4 100644
--- a/Tools/freeze/modulefinder.py
+++ b/Tools/freeze/modulefinder.py
@@ -9,6 +9,12 @@
 import sys
 import new
 
+if hasattr(sys.__stdout__, "newlines"):
+    READ_MODE = "U"  # universal line endings
+else:
+    # remain compatible with Python  < 2.3
+    READ_MODE = "r"
+
 IMPORT_NAME = dis.opname.index('IMPORT_NAME')
 IMPORT_FROM = dis.opname.index('IMPORT_FROM')
 STORE_NAME = dis.opname.index('STORE_NAME')
@@ -95,20 +101,14 @@
 
     def run_script(self, pathname):
         self.msg(2, "run_script", pathname)
-        if hasattr(sys.stdout, "newlines"): # detect universal newline support
-            fp = open(pathname, "U")
-        else:
-            fp = open(pathname, "r")
+        fp = open(pathname, READ_MODE)
         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)
-        if hasattr(sys.stdout, "newlines"):
-            fp = open(pathname, "U")
-        else:
-            fp = open(pathname, "r")
+        fp = open(pathname, READ_MODE)
         stuff = (ext, "r", imp.PY_SOURCE)
         self.load_module(name, fp, pathname, stuff)