export utf-8

This commit is contained in:
pdxlocations
2025-06-30 00:03:11 -07:00
parent db21942244
commit 795b652069

View File

@@ -751,13 +751,24 @@ def onConnected(interface):
interface.getNode(args.dest, False, **getNode_kwargs).commitSettingsTransaction()
print("Writing modified configuration to device")
if args.export_config:
if args.export_config is not None:
if args.dest != BROADCAST_ADDR:
print("Exporting configuration of remote nodes is not supported.")
return
# export the configuration (the opposite of '--configure')
closeNow = True
export_config(interface)
config_txt = export_config(interface)
if args.export_config == "-":
# Output to stdout (preserves legacy use of `> file.yaml`)
print(config_txt)
else:
try:
with open(args.export_config, "w", encoding="utf-8") as f:
f.write(config_txt)
print(f"Exported configuration to {args.export_config}")
except Exception as e:
meshtastic.util.our_exit(f"ERROR: Failed to write config file: {e}")
if args.ch_set_url:
closeNow = True
@@ -1160,7 +1171,6 @@ def export_config(interface) -> str:
config_txt = "# start of Meshtastic configure yaml\n" #checkme - "config" (now changed to config_out)
#was used as a string here and a Dictionary above
config_txt += yaml.dump(configObj)
print(config_txt)
return config_txt
@@ -1458,10 +1468,12 @@ def addImportExportArgs(parser: argparse.ArgumentParser) -> argparse.ArgumentPar
help="Specify a path to a yaml(.yml) file containing the desired settings for the connected device.",
action="append",
)
group.add_argument(
parser.add_argument(
"--export-config",
help="Export the configuration in yaml(.yml) format.",
action="store_true",
nargs="?",
const="-", # default to "-" if no value provided
metavar="FILE",
help="Export device config as YAML (to stdout if no file given)"
)
return parser