Reading index file and ignoring already indexed content.

This commit is contained in:
2018-06-17 03:39:12 +02:00
parent 7cf1a99915
commit 33ef3d2c19
5 changed files with 44 additions and 18 deletions

View File

@@ -3,16 +3,16 @@
const config = require('config');
const fs = require('fs-extra');
const Promise = require('bluebird');
const csvStringify = Promise.promisify(require('csv').stringify);
const interpolate = require('../interpolate.js');
async function writeToIndex(posts, user) {
const filename = interpolate(config.library.index.file, user, null, false);
const data = posts.map(post => config.library.index.keys.map(key => interpolate(`$${key}`, user, post, null, false, 'YYYY-MM-DDTHH:mm:ssZ')));
const newEntries = posts.map(post => config.library.index.keys.map(key => interpolate(`$${key}`, user, post, null, false, 'YYYY-MM-DDTHH:mm:ssZ')));
const fullEntries = newEntries.concat(user.indexed.map(entry => Object.values(entry)));
const tsvString = await csvStringify(data, { delimiter: '\t', header: true, columns: config.library.index.keys });
const tsvString = await csvStringify(fullEntries, { delimiter: '\t', header: true, columns: config.library.index.keys });
return fs.writeFile(filename, tsvString);
}