google-photos-migrate
Version:
A tool to fix EXIF data and recover filenames from a Google Photos takeout.
21 lines (20 loc) • 811 B
JavaScript
import { walkDir } from '../fs/walk-dir.js';
import { migrateMediaFile } from '../media/migrate-media-file.js';
import { indexJsonFiles } from '../meta/index-meta-files.js';
import { asyncGenToAsync } from '../ts.js';
import { migrationArgsDefaults } from './migration-args.js';
export const migrateDirFlat = asyncGenToAsync(migrateDirFlatGen);
export async function* migrateDirFlatGen(_args) {
const args = await migrationArgsDefaults(_args);
const migCtx = {
...args,
titleJsonMap: await indexJsonFiles(args.inputDir),
endExifTool: false,
};
for await (const mediaPath of walkDir(args.inputDir)) {
if (mediaPath.endsWith('.json'))
continue;
yield migrateMediaFile(mediaPath, migCtx);
}
migCtx.endExifTool && migCtx.exiftool.end();
}