mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-01 09:17:44 +03:00
fix: resolve FINDINGS — synonyms, path resolution, exit codes
Skill fixes (all ps1+py, version bumped to v1.1): - role-compile: accept "rights" as synonym for "objects" - subsystem-compile: accept "objects" as synonym for "content" - form-add: resolve directory path to .xml (like meta-validate) - form-info: resolve directory path to Ext/Form.xml (like form-validate) - mxl-compile: support absolute OutputPath (IsPathRooted check) - meta-remove: exit 1 when object not found; v1.1 - cfe-patch-method: accept plural type names (Catalogs → Catalog) Test fixes: - basic-role.json: use canonical "objects" key - basic.json (subsystem): use canonical "content" key - catalog-form.json: fix outdated DSL format - New synonym test cases for role-compile and subsystem-compile - error-not-found.json: expect error (exit 1) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
4551525718
commit
250978c2fd
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# form-info v1.1 — Analyze 1C managed form structure
|
||||
# form-info v1.2 — Analyze 1C managed form structure
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
|
||||
import argparse
|
||||
@@ -353,7 +353,27 @@ def main():
|
||||
offset = args.Offset
|
||||
expand = args.Expand
|
||||
|
||||
# --- Validate path ---
|
||||
# --- Resolve FormPath ---
|
||||
if not os.path.isabs(form_path):
|
||||
form_path = os.path.join(os.getcwd(), form_path)
|
||||
# A: Directory → Ext/Form.xml
|
||||
if os.path.isdir(form_path):
|
||||
form_path = os.path.join(form_path, "Ext", "Form.xml")
|
||||
# B1: Missing Ext/ (Forms/Форма/Form.xml → Forms/Форма/Ext/Form.xml)
|
||||
if not os.path.isfile(form_path):
|
||||
fn = os.path.basename(form_path)
|
||||
if fn == "Form.xml":
|
||||
c = os.path.join(os.path.dirname(form_path), "Ext", fn)
|
||||
if os.path.isfile(c):
|
||||
form_path = c
|
||||
# B2: Descriptor (Forms/Форма.xml → Forms/Форма/Ext/Form.xml)
|
||||
if not os.path.isfile(form_path) and form_path.endswith(".xml"):
|
||||
stem = os.path.splitext(os.path.basename(form_path))[0]
|
||||
parent = os.path.dirname(form_path)
|
||||
c = os.path.join(parent, stem, "Ext", "Form.xml")
|
||||
if os.path.isfile(c):
|
||||
form_path = c
|
||||
|
||||
if not os.path.isfile(form_path):
|
||||
print(f"File not found: {form_path}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
Reference in New Issue
Block a user