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;
|