dnd5-scripts/replace_field_name.py
2026-06-17 22:32:48 +03:00

28 lines
1.4 KiB
Python

from pathlib import Path
tag = "location"
old_name = "inhabitants"
new_name = "demographics"
# Определяем путь к родительской директории относительно местоположения скрипта
parent_directory = Path(__file__).resolve().parent.parent
# Проходим рекурсивно по всем .md файлам в родительской директории
for md_file in parent_directory.rglob('*.md'):
try:
# Читаем содержимое файла
content = md_file.read_text(encoding='utf-8')
# Проверяем, содержит ли файл тег #npc
if ("#" + tag) in content or f'- "{tag}"' in content or f'- {tag}' in content:
# Заменяем все вхождения 'regions' на 'domicile'
if ("\"" + old_name + "\"" in content):
new_content = content.replace("\"" + old_name + "\"", "\"" + new_name + "\"")
else:
new_content = content.replace(old_name, new_name)
# Записываем обновленное содержимое обратно в файл
md_file.write_text(new_content, encoding='utf-8')
print(f'Обновлен файл: {md_file}')
except Exception as e:
print(f'Ошибка при обработке файла {md_file}: {e}')