mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-21 02:29:42 +03:00
refactor(skills): свести write_xml_file и write_utf8_bom к общему эталону
У write_xml_file в docstring прямо написано «Держать копии одинаковыми — сознательно: разошедшиеся копии сводят на нет весь смысл», и при этом копий было три варианта. Различие оказалось не в логике нормализации, а в имени вспомогательной функции записи байт: write_utf8_bom (11 навыков), write_text_with_bom (form-add, help-add, template-add), save_text_bom (cfe-borrow) — тела всех трёх побайтово эквивалентны. Имя сведено к write_utf8_bom, тело помощника — к общему эталону (различались только имена переменных). PS1-порт Write-XmlFile расхождений не имел. Обе семьи переведены из храповика в реестр с эталоном: 24 семьи, 309 копий, разъехавшихся осталось 4. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
f2216745e6
commit
01749ad6ee
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# subsystem-edit v1.16 — Edit existing 1C subsystem XML (+esc_xml/esc_xml_text: разное экранирование атрибута и текста)
|
||||
# subsystem-edit v1.17 — Edit existing 1C subsystem XML (+write_xml_file/write_utf8_bom: общий эталон записи)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
|
||||
import argparse
|
||||
@@ -204,10 +204,13 @@ def esc_xml_text(s):
|
||||
|
||||
|
||||
def write_utf8_bom(path, content):
|
||||
# newline='' — без трансляции: иначе текстовый режим Python дал бы CRLF на Windows
|
||||
# и LF на macOS, то есть вывод навыка зависел бы от ОС.
|
||||
with open(path, 'w', encoding='utf-8-sig', newline='') as f:
|
||||
f.write(content)
|
||||
|
||||
|
||||
|
||||
# Объявления пространств имён — одной переменной: место эмиссии её только подставляет.
|
||||
# Правки шапки (как xmlns:pal в формате 2.21) делаются в одном месте, в main.
|
||||
XMLNS_DECL = (
|
||||
|
||||
Reference in New Issue
Block a user