[glib/glib-2-50] build/win32/replace.py: Fix replacing items in files with UTF-8 content



commit d13171864ae0011eef8d1712ed4fba5dccb1c47f
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Tue May 9 18:23:00 2017 -0700

    build/win32/replace.py: Fix replacing items in files with UTF-8 content
    
    Some files that this script will process might have UTF-8 items in
    there, which can cause problems on Python 3.x as it is more strict and
    careful on unicode issues.
    
    Fix this by:
    -Doing what we did before on Python 2.x
    -Open the file with encoding='utf-8' on Python 3.x

 build/win32/replace.py |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/build/win32/replace.py b/build/win32/replace.py
index a81bab9..f215cce 100644
--- a/build/win32/replace.py
+++ b/build/win32/replace.py
@@ -21,9 +21,15 @@ valid_actions = ['remove-prefix',
                  'replace-str',
                  'remove-str']
 
+def open_file(filename, mode):
+    if sys.version_info[0] < 3:
+        return open(filename, mode=mode)
+    else:
+        return open(filename, mode=mode, encoding='utf-8')
+
 def replace_multi(src, dest, replace_items):
-    with open(src, 'r') as s:
-        with open(dest, 'w') as d:
+    with open_file(src, 'r') as s:
+        with open_file(dest, 'w') as d:
             for line in s:
                 replace_dict = dict((re.escape(key), value) \
                                for key, value in replace_items.items())


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]