mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-30 14:05:53 +03:00
fix(meta-edit): внешнюю обработку/отчёт проверять epf-validate (#108)
Автопроверка после правки жёстко звала meta-validate, который ExternalDataProcessor/ExternalReport не знает: корректная правка заканчивалась «Unrecognized metadata type». Валидатор теперь выбирается по типу объекта. В py-порту stdout сбрасывается перед запуском валидатора — его вывод больше не обгоняет строки meta-edit. verify-snapshots: кейс meta-edit с setup none собирается epf-build, а не грузится пустой конфигурацией, где обработку платформа не видит. Fixes #108 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
68a2a11a6c
commit
372510bbc4
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# meta-edit v1.53 — Edit existing 1C metadata object XML
|
||||
# meta-edit v1.54 — Edit existing 1C metadata object XML
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
|
||||
import argparse
|
||||
@@ -3985,16 +3985,20 @@ def main():
|
||||
|
||||
# --- Auto-validate ---
|
||||
if not args.NoValidate:
|
||||
# Внешняя обработка/отчёт — автономный объект, meta-validate его не знает (#108).
|
||||
validate_skill = "epf-validate" if obj_type in ("ExternalDataProcessor", "ExternalReport") else "meta-validate"
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
validate_script = os.path.normpath(os.path.join(script_dir, "..", "..", "meta-validate", "scripts", "meta-validate.py"))
|
||||
validate_script = os.path.normpath(os.path.join(script_dir, "..", "..", validate_skill, "scripts", f"{validate_skill}.py"))
|
||||
if os.path.exists(validate_script):
|
||||
print()
|
||||
print("--- Running meta-validate ---")
|
||||
print(f"--- Running {validate_skill} ---")
|
||||
python_exe = sys.executable
|
||||
# Буфер stdout сбросить до запуска: иначе вывод дочернего процесса обгоняет наш.
|
||||
sys.stdout.flush()
|
||||
subprocess.run([python_exe, validate_script, "-ObjectPath", resolved_path])
|
||||
else:
|
||||
print()
|
||||
print(f"[SKIP] meta-validate not found at: {validate_script}")
|
||||
print(f"[SKIP] {validate_skill} not found at: {validate_script}")
|
||||
|
||||
# --- Summary ---
|
||||
print()
|
||||
|
||||
Reference in New Issue
Block a user