[atk] win32/replace.py: Fix replacing items in files with UTF-8 content
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [atk] win32/replace.py: Fix replacing items in files with UTF-8 content
- Date: Wed, 10 May 2017 01:33:47 +0000 (UTC)
commit e106b75b25c332cc55f7fad83a7e7ff124309b18
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 a81bab9..f215cce 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]