docparse-supplier-nge
Version:
process ngrid electric utility bill data for use in the docparse system
60 lines (52 loc) • 1.49 kB
JavaScript
var inspect = require('eyespect').inspector();
var path = require('path');
var async = require('async');
module.exports = function(data, cb) {
var bill;
var parsedData;
// dependency injection
var check = data.check;
if (!check) {
check = require(path.join(__dirname, 'lib/checkScraperData'));
}
var createBill = data.createBill;
if (!createBill) {
createBill = require(path.join(__dirname, 'lib/createBill'));
}
var getData = data.getData;
if (!getData) {
getData = require(path.join(__dirname, 'lib/parse/getData'));
}
var saveData = data.saveData;
if (!saveData) {
saveData = require('./lib/saveData');
}
var createInvoices = data.createInvoices;
if (!createInvoices) {
createInvoices = require('./lib/createInvoices');
}
check(data, function (err, reply) {
if (err) { return cb(err); }
if (reply) {
return cb(null, reply);
}
createBill(data, function (err, reply) {
if (err) { return cb(err); }
bill = reply;
var text = data.textPages.join(' ');
text = text.replace(/,/g, '');
var parseData = {
text: text
};
getData(parseData, function (err, output) {
if (err) { return cb(err); }
output.bill = bill;
output.billID = bill._id.toString();
output.customerID = data.customerID;
output.loginID = data.loginID;
output.supplierID = data.loginID;
createInvoices(output, cb);
});
});
});
};