ML data included by default, --exif is the opt-in, --all aliases --exif

ML data (face detections, CLIP embeddings) is now fetched by default
in backup-metadata. Use --no-ml to skip it. EXIF extraction (which
requires downloading every file) remains opt-in via --exif. --all is
an alias for --exif.
This commit is contained in:
2026-06-09 17:38:15 -04:00
parent 8cd57f4d12
commit 21a1a78f07
3 changed files with 41 additions and 16 deletions

View File

@@ -340,23 +340,26 @@ program
"Dump all decrypted account metadata to a directory of JSON files",
)
.argument("<dir>", "Output directory")
.option(
"--ml",
"Include ML data (face detections, CLIP embeddings) from the Ente server",
)
.option("--no-ml", "Skip ML data (face detections, CLIP embeddings)")
.option(
"--exif",
"Download each file and extract full EXIF/IPTC/XMP metadata (slow)",
)
.action(async (dir: string, opts: { ml?: boolean; exif?: boolean }) => {
await init();
const client = requireSession();
await runMetadataBackup(client, dir, {
mlData: opts.ml,
exif: opts.exif,
onProgress: (msg) => stderr.write(msg + "\n"),
});
});
.option("--all", "Alias for --exif")
.action(
async (
dir: string,
opts: { ml?: boolean; exif?: boolean; all?: boolean },
) => {
await init();
const client = requireSession();
await runMetadataBackup(client, dir, {
mlData: opts.ml,
exif: opts.exif || opts.all,
onProgress: (msg) => stderr.write(msg + "\n"),
});
},
);
program
.command("backup")