mirror of
https://github.com/chuot/rdio-scanner.git
synced 2026-08-16 01:43:01 -06:00
New dirWatch logic when injesting meta files
This commit is contained in:
parent
b7fbde0e63
commit
bbe40de6ce
|
|
@ -82,22 +82,22 @@ class DirWatch {
|
||||||
|
|
||||||
const talkgroup = parse(dirWatch.talkgroup);
|
const talkgroup = parse(dirWatch.talkgroup);
|
||||||
|
|
||||||
if (isNaN(system) || isNaN(talkgroup)) {
|
|
||||||
console.log(`Unknown system or talkgroup for ${filename}`);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (dirWatch.type) {
|
switch (dirWatch.type) {
|
||||||
case 'trunk-recorder': {
|
case 'trunk-recorder': {
|
||||||
setTimeout(async () => {
|
|
||||||
const metaFile = path.resolve(file.dir, `${file.name}.json`);
|
const metaFile = path.resolve(file.dir, `${file.name}.json`);
|
||||||
|
|
||||||
if (!fs.existsSync(metaFile)) {
|
const metaWatcher = chokidar.watch(metaFile, { awaitWriteFinish: true });
|
||||||
console.error(`File not found: ${metaFile}`);
|
|
||||||
|
|
||||||
return;
|
const timeout = setTimeout(() => {
|
||||||
|
if (!metaWatcher.closed) {
|
||||||
|
metaWatcher.close();
|
||||||
}
|
}
|
||||||
|
}, 60 * 1000);
|
||||||
|
|
||||||
|
metaWatcher.on('add', async () => {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
|
||||||
|
await metaWatcher.close();
|
||||||
|
|
||||||
let meta;
|
let meta;
|
||||||
|
|
||||||
|
|
@ -117,20 +117,26 @@ class DirWatch {
|
||||||
this.unlink(metaFile);
|
this.unlink(metaFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, 2000);
|
});
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'sdrtrunk': {
|
case 'sdrtrunk': {
|
||||||
setTimeout(async () => {
|
|
||||||
const metaFile = path.resolve(file.dir, `${file.name}.mbe`);
|
const metaFile = path.resolve(file.dir, `${file.name}.mbe`);
|
||||||
|
|
||||||
if (!fs.existsSync(metaFile)) {
|
const metaWatcher = chokidar.watch(metaFile, { awaitWriteFinish: true });
|
||||||
console.error(`File not found: ${metaFile}`);
|
|
||||||
|
|
||||||
return;
|
const timeout = setTimeout(() => {
|
||||||
|
if (!metaWatcher.closed) {
|
||||||
|
metaWatcher.close();
|
||||||
}
|
}
|
||||||
|
}, 60 * 1000);
|
||||||
|
|
||||||
|
metaWatcher.on('add', async () => {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
|
||||||
|
await metaWatcher.close();
|
||||||
|
|
||||||
let meta;
|
let meta;
|
||||||
|
|
||||||
|
|
@ -148,7 +154,7 @@ class DirWatch {
|
||||||
if (dirWatch.deleteAfter) {
|
if (dirWatch.deleteAfter) {
|
||||||
this.unlink(metaFile);
|
this.unlink(metaFile);
|
||||||
}
|
}
|
||||||
}, 2000);
|
});
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue