Support zh-TW version update in make.py (UTF-8 encoding in file replace)

This commit is contained in:
jonpas 2019-12-17 20:17:22 +01:00
parent c7e2981332
commit 8ea5146a2e

View File

@ -51,7 +51,7 @@ import traceback
import time import time
import timeit import timeit
import re import re
import fileinput from tempfile import mkstemp
if sys.platform == "win32": if sys.platform == "win32":
import winreg import winreg
@ -582,9 +582,15 @@ def get_project_version(version_increments=[]):
def replace_file(filePath, oldSubstring, newSubstring): def replace_file(filePath, oldSubstring, newSubstring):
for line in fileinput.input(filePath, inplace=True): fh, absPath = mkstemp()
# Use stdout directly, print() adds newlines automatically with open(absPath, "w", encoding="utf-8") as newFile:
sys.stdout.write(line.replace(oldSubstring,newSubstring)) with open(filePath, encoding="utf-8") as oldFile:
for line in oldFile:
newFile.write(line.replace(oldSubstring, newSubstring))
newFile.close()
os.remove(filePath)
shutil.move(absPath, filePath)
def set_version_in_files(): def set_version_in_files():
@ -603,7 +609,7 @@ def set_version_in_files():
try: try:
# Save the file contents to a variable if the file exists # Save the file contents to a variable if the file exists
if os.path.isfile(filePath): if os.path.isfile(filePath):
f = open(filePath, "r+") f = open(filePath, "r+", encoding="utf-8")
fileText = f.read() fileText = f.read()
f.close() f.close()