fix(db-*): remove double-quoting in subprocess arguments

Python subprocess.run() with list args handles quoting automatically.
Extra f'"{path}"' wrapping made quotes literal, breaking 1cv8.exe CLI.
Removed inner quotes from all 8 db-* scripts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-02-25 17:49:05 +03:00
parent 679f6bae94
commit 85cdea925e
8 changed files with 55 additions and 55 deletions
@@ -68,22 +68,22 @@ def main():
if args.InfoBaseServer and args.InfoBaseRef:
arguments.append(f'Srvr="{args.InfoBaseServer}";Ref="{args.InfoBaseRef}"')
else:
arguments.append(f'File="{args.InfoBasePath}"')
arguments.append(f'File={args.InfoBasePath}')
# --- Template ---
if args.UseTemplate:
arguments.extend(["/UseTemplate", f'"{args.UseTemplate}"'])
arguments.extend(["/UseTemplate", args.UseTemplate])
# --- Add to list ---
if args.AddToList:
if args.ListName:
arguments.extend(["/AddToList", f'"{args.ListName}"'])
arguments.extend(["/AddToList", args.ListName])
else:
arguments.append("/AddToList")
# --- Output ---
out_file = os.path.join(temp_dir, "create_log.txt")
arguments.extend(["/Out", f'"{out_file}"'])
arguments.extend(["/Out", out_file])
arguments.append("/DisableStartupDialogs")
# --- Execute ---
@@ -68,26 +68,26 @@ def main():
arguments = ["DESIGNER"]
if args.InfoBaseServer and args.InfoBaseRef:
arguments.extend(["/S", f'"{args.InfoBaseServer}/{args.InfoBaseRef}"'])
arguments.extend(["/S", f"{args.InfoBaseServer}/{args.InfoBaseRef}"])
else:
arguments.extend(["/F", f'"{args.InfoBasePath}"'])
arguments.extend(["/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.extend(["/DumpCfg", f'"{args.OutputFile}"'])
arguments.extend(["/DumpCfg", args.OutputFile])
# --- Extensions ---
if args.Extension:
arguments.extend(["-Extension", f'"{args.Extension}"'])
arguments.extend(["-Extension", args.Extension])
elif args.AllExtensions:
arguments.append("-AllExtensions")
# --- Output ---
out_file = os.path.join(temp_dir, "dump_cf_log.txt")
arguments.extend(["/Out", f'"{out_file}"'])
arguments.extend(["/Out", out_file])
arguments.append("/DisableStartupDialogs")
# --- Execute ---
@@ -89,16 +89,16 @@ 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 += ["/DumpConfigToFiles", f'"{args.ConfigDir}"']
arguments += ["/DumpConfigToFiles", args.ConfigDir]
arguments += ["-Format", args.Format]
if args.Mode == "Full":
@@ -115,7 +115,7 @@ def main():
with open(list_file, "w", encoding="utf-8-sig") as f:
f.write("\n".join(object_list))
arguments += ["-listFile", f'"{list_file}"']
arguments += ["-listFile", list_file]
print(f"Objects to dump: {len(object_list)}")
for obj in object_list:
print(f" {obj}")
@@ -125,13 +125,13 @@ def main():
# --- Extensions ---
if args.Extension:
arguments += ["-Extension", f'"{args.Extension}"']
arguments += ["-Extension", args.Extension]
elif args.AllExtensions:
arguments.append("-AllExtensions")
# --- Output ---
out_file = os.path.join(temp_dir, "dump_log.txt")
arguments += ["/Out", f'"{out_file}"']
arguments += ["/Out", out_file]
arguments.append("/DisableStartupDialogs")
# --- Execute ---
@@ -68,26 +68,26 @@ def main():
arguments = ["DESIGNER"]
if args.InfoBaseServer and args.InfoBaseRef:
arguments.extend(["/S", f'"{args.InfoBaseServer}/{args.InfoBaseRef}"'])
arguments.extend(["/S", f"{args.InfoBaseServer}/{args.InfoBaseRef}"])
else:
arguments.extend(["/F", f'"{args.InfoBasePath}"'])
arguments.extend(["/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.extend(["/LoadCfg", f'"{args.InputFile}"'])
arguments.extend(["/LoadCfg", args.InputFile])
# --- Extensions ---
if args.Extension:
arguments.extend(["-Extension", f'"{args.Extension}"'])
arguments.extend(["-Extension", args.Extension])
elif args.AllExtensions:
arguments.append("-AllExtensions")
# --- Output ---
out_file = os.path.join(temp_dir, "load_cf_log.txt")
arguments.extend(["/Out", f'"{out_file}"'])
arguments.extend(["/Out", out_file])
arguments.append("/DisableStartupDialogs")
# --- Execute ---
@@ -216,30 +216,30 @@ 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 += ["/LoadConfigFromFiles", f'"{args.ConfigDir}"']
arguments += ["-listFile", f'"{list_file}"']
arguments += ["/LoadConfigFromFiles", args.ConfigDir]
arguments += ["-listFile", list_file]
arguments += ["-Format", args.Format]
arguments.append("-partial")
arguments.append("-updateConfigDumpInfo")
# --- Extensions ---
if args.Extension:
arguments += ["-Extension", f'"{args.Extension}"']
arguments += ["-Extension", args.Extension]
elif args.AllExtensions:
arguments.append("-AllExtensions")
# --- Output ---
out_file = os.path.join(temp_dir, "load_log.txt")
arguments += ["/Out", f'"{out_file}"']
arguments += ["/Out", out_file]
arguments.append("/DisableStartupDialogs")
# --- Execute ---
@@ -90,16 +90,16 @@ 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 += ["/LoadConfigFromFiles", f'"{args.ConfigDir}"']
arguments += ["/LoadConfigFromFiles", args.ConfigDir]
if args.Mode == "Full":
print("Executing full configuration load...")
@@ -125,7 +125,7 @@ def main():
for fl in file_list:
print(f" {fl}")
arguments += ["-listFile", f'"{generated_list_file}"']
arguments += ["-listFile", generated_list_file]
arguments.append("-partial")
arguments.append("-updateConfigDumpInfo")
@@ -133,13 +133,13 @@ def main():
# --- Extensions ---
if args.Extension:
arguments += ["-Extension", f'"{args.Extension}"']
arguments += ["-Extension", args.Extension]
elif args.AllExtensions:
arguments.append("-AllExtensions")
# --- Output ---
out_file = os.path.join(temp_dir, "load_log.txt")
arguments += ["/Out", f'"{out_file}"']
arguments += ["/Out", out_file]
arguments.append("/DisableStartupDialogs")
# --- Execute ---
+7 -7
View File
@@ -55,14 +55,14 @@ def main():
arguments = ["ENTERPRISE"]
if args.InfoBaseServer and args.InfoBaseRef:
arguments.extend(["/S", f'"{args.InfoBaseServer}/{args.InfoBaseRef}"'])
arguments.extend(["/S", f"{args.InfoBaseServer}/{args.InfoBaseRef}"])
else:
arguments.extend(["/F", f'"{args.InfoBasePath}"'])
arguments.extend(["/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}")
# --- Optional params ---
execute = args.Execute
@@ -75,11 +75,11 @@ def main():
execute = ""
if execute:
arguments.extend(["/Execute", f'"{execute}"'])
arguments.extend(["/Execute", execute])
if args.CParam:
arguments.extend(["/C", f'"{args.CParam}"'])
arguments.extend(["/C", args.CParam])
if args.URL:
arguments.extend(["/URL", f'"{args.URL}"'])
arguments.extend(["/URL", args.URL])
arguments.append("/DisableStartupDialogs")
@@ -65,14 +65,14 @@ def main():
arguments = ["DESIGNER"]
if args.InfoBaseServer and args.InfoBaseRef:
arguments.extend(["/S", f'"{args.InfoBaseServer}/{args.InfoBaseRef}"'])
arguments.extend(["/S", f"{args.InfoBaseServer}/{args.InfoBaseRef}"])
else:
arguments.extend(["/F", f'"{args.InfoBasePath}"'])
arguments.extend(["/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.append("/UpdateDBCfg")
@@ -86,13 +86,13 @@ def main():
# --- Extensions ---
if args.Extension:
arguments.extend(["-Extension", f'"{args.Extension}"'])
arguments.extend(["-Extension", args.Extension])
elif args.AllExtensions:
arguments.append("-AllExtensions")
# --- Output ---
out_file = os.path.join(temp_dir, "update_log.txt")
arguments.extend(["/Out", f'"{out_file}"'])
arguments.extend(["/Out", out_file])
arguments.append("/DisableStartupDialogs")
# --- Execute ---