[libsoup/gnome-3-24] win32/replace.py: Fix replacing items in files with UTF-8 content



commit 8b3a4d765008cdaf971acdaf254101b9756d48f9
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Tue May 9 18:17:29 2017 -0700

    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
    -Opening the file with encoding='utf-8' on Python 3.x

 win32/replace.py |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/win32/replace.py b/win32/replace.py
index 0cb269a..3aeceb1 100644
--- a/win32/replace.py
+++ b/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]