25 lines
666 B
JavaScript
25 lines
666 B
JavaScript
'use strict';
|
|
|
|
const exiftool = require('node-exiftool');
|
|
const exiftoolBin = require('dist-exiftool');
|
|
|
|
function saveMeta(filepath, meta, globalExifTool) {
|
|
const ep = globalExifTool || new exiftool.ExiftoolProcess(exiftoolBin);
|
|
|
|
return Promise.resolve().then(() => {
|
|
if(!globalExifTool) {
|
|
return ep.open();
|
|
}
|
|
}).then(() => {
|
|
return ep.writeMetadata(filepath, meta, ['overwrite_original']);
|
|
}).then(() => {
|
|
console.log('\x1b[36m%s\x1b[0m', `Wrote metadata to '${filepath}'`);
|
|
}).then(() => {
|
|
if(!globalExifTool) {
|
|
return ep.close();
|
|
}
|
|
});
|
|
};
|
|
|
|
module.exports = saveMeta;
|