Multiple improvements #1

Open
Peetz0r wants to merge 3 commits from Peetz0r/barcodebot:master into master

@ -2,6 +2,7 @@
"apiKeys": {
"eanData": "YOURKEYGOESHERE"
},
"email": "you@example.com",
"irc": {
"host": "irc.freenode.net",
"port": 6667,

@ -1,13 +1,13 @@
"use strict";
const Promise = require("bluebird");
const bhttp = require("bhttp").session({ headers: { "user-agent": "barcodebot (problems: admin@cryto.net)" } });
const dotty = require("dotty");
const cheerio = require("cheerio");
const url = require("url");
const chalk = require("chalk");
const config = require("./config.json");
const bhttp = require("bhttp").session({ headers: { "user-agent": `barcodebot (problems: ${config.email})` } });
const parseFoodbook = require("./parse-foodbook");
function log(barcode, message) {
@ -37,6 +37,7 @@ let barcodeGetters = [
getBarcode_foodBook,
getBarcode_eanData,
getBarcode_openFoodFacts,
getBarcode_calorielijst,
];
module.exports = function getBarcode(barcode) {
@ -218,13 +219,36 @@ function getBarcode_bolCom(barcode) {
if (response.statusCode === 200) {
let $ = cheerio.load(response.body);
let productName = cleanValue($(".pdp-header__title").text());
let productName = cleanValue($(".product-title").text());
if (productName.length > 0) {
return {
name: productName,
image: $(".js_product_img").attr("src"),
price: `${cleanValue($(".promo-price").text())}`
image: $(".product-image img").attr("src").replace("/regular/", "/extralarge/"),
price: `${cleanValue($("meta[itemprop=price]").attr('content')).replace(".", ",")}`,
};
}
}
});
}
function getBarcode_calorielijst(barcode) {
return Promise.try(() => {
log(barcode, "Trying calorielijst.nl...");
return bhttp.get(`http://www.calorielijst.nl/?search=${encodeURIComponent(barcode)}`);
}).then((response) => {
if (response.statusCode === 200) {
let $ = cheerio.load(response.body);
let a = $(".calorienamediv a").first();
let productName = cleanValue(a.text());
if (productName.length > 0) {
let image = a.data().id;
return {
name: productName,
image: (image != "") ? `http://img.calorielijst.nl/product/${image}` : null,
};
}
}

@ -5,7 +5,7 @@ const Promise = require("bluebird");
const getBarcode = require("./get-barcode");
Promise.try(() => {
return getBarcode("4002846034450");
return getBarcode("8716309087797");
}).then((result) => {
console.log(result);
})

Loading…
Cancel
Save