BurningTimesAi/공유/기획/FirstRising/몬스터보스/tools/unity_eval/patchlib.py

17 lines
701 B
Python
Raw Permalink Normal View History

# 프로젝트 파일 패치 도우미 — 줄바꿈 형식과 BOM 을 그대로 지키고, 바꿀 문구가 정확히 한 번 있을 때만 바꾼다
import io
ROOT = r"C:\BurningTimes\FirstRising\Assets\BurningTimes"
def patch(path, pairs):
s = io.open(path, encoding="utf-8", newline="").read()
nl = "\r\n" if "\r\n" in s else "\n"
s = s.replace("\r\n", "\n")
for a, b in pairs:
if s.count(a) != 1:
raise SystemExit("바꿀 문구가 %d번 나옵니다(%s): %r" % (s.count(a), path.split("\\")[-1], a[:80]))
s = s.replace(a, b)
io.open(path, "w", encoding="utf-8", newline="").write(s.replace("\n", nl))
print("patched", path.split("\\")[-1])