61 lines
1.6 KiB
Python
61 lines
1.6 KiB
Python
import re
|
|
from copy import deepcopy
|
|
|
|
from util.paths import PROJECT_ROOT
|
|
|
|
# Canonical defaults used by the GUI and the pre-commit hook.
|
|
# Stored as booleans for easier consumption by the GUI.
|
|
DEFAULTS = {
|
|
'FIRSTLINESPEAKERS': False,
|
|
'FACENAME101': False,
|
|
'BRFLAG': False,
|
|
'FIXTEXTWRAP': True,
|
|
'IGNORETLTEXT': False,
|
|
'PRESERVEORIGINAL': True,
|
|
'JOIN408': False,
|
|
# Speakers / Dialogue / Scroll / Choices (Main Codes)
|
|
'CODE101': True,
|
|
'CODE401': True,
|
|
'CODE405': True,
|
|
'CODE102': True,
|
|
# Optional
|
|
'CODE408': False,
|
|
# Variables
|
|
'CODE122': False,
|
|
# Other
|
|
'CODE355655': False,
|
|
'CODE357': False,
|
|
'CODE657': False,
|
|
'CODE356': False,
|
|
'CODE320': False,
|
|
'CODE324': False,
|
|
'CODE111': False,
|
|
'CODE108': False
|
|
}
|
|
|
|
|
|
def get_defaults():
|
|
"""Return a shallow copy of the DEFAULTS dictionary."""
|
|
return deepcopy(DEFAULTS)
|
|
|
|
|
|
def set_defaults(file_path):
|
|
"""Write canonical default values into a module file.
|
|
|
|
The module file contains assignments like `CODE401 = True`. This
|
|
function replaces those assignment lines with the canonical defaults.
|
|
"""
|
|
with open(file_path, 'r', encoding='utf-8') as file:
|
|
content = file.read()
|
|
|
|
# Update the content with the default values (converted to Python literals)
|
|
for key, value in DEFAULTS.items():
|
|
value_str = 'True' if value else 'False'
|
|
content = re.sub(rf'{re.escape(key)}\s*=\s*.*', f'{key} = {value_str}', content)
|
|
|
|
with open(file_path, 'w', encoding='utf-8') as file:
|
|
file.write(content)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
set_defaults(PROJECT_ROOT / "modules/rpgmakermvmz.py")
|