mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-20 01:20:59 +03:00
fix(skd): Python 3.13 compatibility fixes
- skd-edit.py: fix (?i) inline regex flag → re.IGNORECASE (Python 3.13 error) - skd-edit.py: fix "if not sv" on XML element → "sv is None" (FutureWarning) - skd-edit.py: fix OrGroup filter crash in output description (list vs dict) - skd-compile.py: wrap dict structure in list before iteration 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
9727635e5d
commit
54c04cfe76
@@ -1696,6 +1696,8 @@ def emit_settings_variants(lines, defn):
|
|||||||
struct_items = s['structure']
|
struct_items = s['structure']
|
||||||
if isinstance(struct_items, str):
|
if isinstance(struct_items, str):
|
||||||
struct_items = parse_structure_shorthand(struct_items)
|
struct_items = parse_structure_shorthand(struct_items)
|
||||||
|
elif isinstance(struct_items, dict):
|
||||||
|
struct_items = [struct_items]
|
||||||
for item in struct_items:
|
for item in struct_items:
|
||||||
emit_structure_item(lines, item, '\t\t\t')
|
emit_structure_item(lines, item, '\t\t\t')
|
||||||
|
|
||||||
|
|||||||
@@ -411,7 +411,7 @@ def parse_order_shorthand(s):
|
|||||||
parts = s.split(None, 1)
|
parts = s.split(None, 1)
|
||||||
field = parts[0]
|
field = parts[0]
|
||||||
direction = "Asc"
|
direction = "Asc"
|
||||||
if len(parts) > 1 and re.match(r'(?i)^desc$', parts[1]):
|
if len(parts) > 1 and re.match(r'^desc$', parts[1], re.IGNORECASE):
|
||||||
direction = "Desc"
|
direction = "Desc"
|
||||||
return {"field": field, "direction": direction}
|
return {"field": field, "direction": direction}
|
||||||
|
|
||||||
@@ -514,7 +514,7 @@ def parse_structure_shorthand(s):
|
|||||||
group["name"] = name_m.group(1).strip()
|
group["name"] = name_m.group(1).strip()
|
||||||
seg = re.sub(r'\s*@name=.+', '', seg).strip()
|
seg = re.sub(r'\s*@name=.+', '', seg).strip()
|
||||||
|
|
||||||
if re.match(r'^(?i)(details|\u0434\u0435\u0442\u0430\u043b\u0438)$', seg):
|
if re.match(r'^(details|\u0434\u0435\u0442\u0430\u043b\u0438)$', seg, re.IGNORECASE):
|
||||||
group["groupBy"] = []
|
group["groupBy"] = []
|
||||||
else:
|
else:
|
||||||
group["groupBy"] = [seg]
|
group["groupBy"] = [seg]
|
||||||
@@ -1225,7 +1225,7 @@ def resolve_variant_settings():
|
|||||||
break
|
break
|
||||||
if sv:
|
if sv:
|
||||||
break
|
break
|
||||||
if not sv:
|
if sv is None:
|
||||||
print(f"Variant '{variant_arg}' not found", file=sys.stderr)
|
print(f"Variant '{variant_arg}' not found", file=sys.stderr)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
else:
|
else:
|
||||||
@@ -1233,7 +1233,7 @@ def resolve_variant_settings():
|
|||||||
if isinstance(child.tag, str) and local_name(child) == "settingsVariant" and etree.QName(child.tag).namespace == SCH_NS:
|
if isinstance(child.tag, str) and local_name(child) == "settingsVariant" and etree.QName(child.tag).namespace == SCH_NS:
|
||||||
sv = child
|
sv = child
|
||||||
break
|
break
|
||||||
if not sv:
|
if sv is None:
|
||||||
print("No settingsVariant found in DCS", file=sys.stderr)
|
print("No settingsVariant found in DCS", file=sys.stderr)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
@@ -1823,7 +1823,11 @@ elif operation == "add-conditionalAppearance":
|
|||||||
|
|
||||||
desc = f"{parsed['param']} = {parsed['value']}"
|
desc = f"{parsed['param']} = {parsed['value']}"
|
||||||
if parsed.get("filter"):
|
if parsed.get("filter"):
|
||||||
desc += f" when {parsed['filter']['field']} {parsed['filter']['op']}"
|
flt = parsed["filter"]
|
||||||
|
if isinstance(flt, list):
|
||||||
|
desc += f" when OrGroup({len(flt)} conditions)"
|
||||||
|
else:
|
||||||
|
desc += f" when {flt['field']} {flt['op']}"
|
||||||
if parsed.get("fields"):
|
if parsed.get("fields"):
|
||||||
desc += f" for {', '.join(parsed['fields'])}"
|
desc += f" for {', '.join(parsed['fields'])}"
|
||||||
print(f'[OK] ConditionalAppearance "{desc}" added to variant "{var_name}"')
|
print(f'[OK] ConditionalAppearance "{desc}" added to variant "{var_name}"')
|
||||||
|
|||||||
Reference in New Issue
Block a user