From bce2d7c85c0b29ee32925b74dc2382cdbc31ffec Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Wed, 25 Feb 2026 18:15:53 +0300 Subject: [PATCH] fix(epf-build,epf-dump): remove double-quoting in subprocess arguments Same issue as db-* scripts: embedded quotes in list-based subprocess args get escaped by list2cmdline, causing 1C to receive literal quote characters in paths. Python's list2cmdline handles quoting automatically for separate flag+value pairs. Co-Authored-By: Claude Opus 4.6 --- .claude/skills/epf-build/scripts/epf-build.py | 12 ++++++------ .claude/skills/epf-dump/scripts/epf-dump.py | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.claude/skills/epf-build/scripts/epf-build.py b/.claude/skills/epf-build/scripts/epf-build.py index bd252f07..305210ce 100644 --- a/.claude/skills/epf-build/scripts/epf-build.py +++ b/.claude/skills/epf-build/scripts/epf-build.py @@ -75,20 +75,20 @@ def main(): arguments = ["DESIGNER"] if args.InfoBaseServer and args.InfoBaseRef: - arguments += ["/S", f'"{args.InfoBaseServer}/{args.InfoBaseRef}"'] + arguments += ["/S", f"{args.InfoBaseServer}/{args.InfoBaseRef}"] else: - arguments += ["/F", f'"{args.InfoBasePath}"'] + arguments += ["/F", args.InfoBasePath] if args.UserName: - arguments.append(f'/N"{args.UserName}"') + arguments.append(f"/N{args.UserName}") if args.Password: - arguments.append(f'/P"{args.Password}"') + arguments.append(f"/P{args.Password}") - arguments += ["/LoadExternalDataProcessorOrReportFromFiles", f'"{args.SourceFile}"', f'"{args.OutputFile}"'] + arguments += ["/LoadExternalDataProcessorOrReportFromFiles", args.SourceFile, args.OutputFile] # --- Output --- out_file = os.path.join(temp_dir, "build_log.txt") - arguments += ["/Out", f'"{out_file}"'] + arguments += ["/Out", out_file] arguments.append("/DisableStartupDialogs") # --- Execute --- diff --git a/.claude/skills/epf-dump/scripts/epf-dump.py b/.claude/skills/epf-dump/scripts/epf-dump.py index 104185f0..8c13edac 100644 --- a/.claude/skills/epf-dump/scripts/epf-dump.py +++ b/.claude/skills/epf-dump/scripts/epf-dump.py @@ -80,21 +80,21 @@ def main(): arguments = ["DESIGNER"] if args.InfoBaseServer and args.InfoBaseRef: - arguments += ["/S", f'"{args.InfoBaseServer}/{args.InfoBaseRef}"'] + arguments += ["/S", f"{args.InfoBaseServer}/{args.InfoBaseRef}"] else: - arguments += ["/F", f'"{args.InfoBasePath}"'] + arguments += ["/F", args.InfoBasePath] if args.UserName: - arguments.append(f'/N"{args.UserName}"') + arguments.append(f"/N{args.UserName}") if args.Password: - arguments.append(f'/P"{args.Password}"') + arguments.append(f"/P{args.Password}") - arguments += ["/DumpExternalDataProcessorOrReportToFiles", f'"{args.OutputDir}"', f'"{args.InputFile}"'] + arguments += ["/DumpExternalDataProcessorOrReportToFiles", args.OutputDir, args.InputFile] arguments += ["-Format", args.Format] # --- Output --- out_file = os.path.join(temp_dir, "dump_log.txt") - arguments += ["/Out", f'"{out_file}"'] + arguments += ["/Out", out_file] arguments.append("/DisableStartupDialogs") # --- Execute ---