const fs = require('fs'); const renderer = require('sdftosvg'); const SVG_OPTS = { backgroundColor: 'none', } function convert(i) { const output = `./../client/assets/molecules/${i}.svg`; return new Promise((resolve, reject) => { fs.readFile(`./molecules/mol${i}`, 'utf8', function rfCb(err, sdf) { if (err) return reject(err); // write svg renderer.renderSdfToSvg(sdf, SVG_OPTS, function(err, svg) { if (err) return reject(err); fs.writeFile(output, svg, function written(err) { if (err) reject(err); resolve(); }); }); }) }); } async function loop() { for (var i = 10000; i >= 0; i--) { try { await convert(i); console.log('finished record', i); } catch (e) { console.error('record error', i, e); } } } loop(); // const request = require('request'); // const fs = require('fs'); // const renderer = require('sdftosvg'); // const SVG_OPTS = { // backgroundColor: 'none', // } // function fetch(i) { // return new Promise((resolve, reject) => { // const url = `https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/CID/${i}/record/SDF/?record_type=2d&response_type=save&response_basename=Structure2D_CID_2519`; // const output = `./../client/assets/molecules/${i}.svg`; // request(url, function cb(err, res, body) { // if (err) reject(err); // // write file // fs.writeFile(`./molecules/Structure2D_CID_${i}.sdf`, body, function written(err) { // if (err) reject(err); // }); // // write svg // renderer.renderSdfToSvg(body, SVG_OPTS, function(err, svg) { // if (err) reject(err); // fs.writeFile(output, svg, function written(err) { // if (err) reject(err); // resolve(); // }); // }); // }); // }); // } // async function loop() { // for (var i = 10000; i >= 0; i--) { // try { // await fetch(i); // console.log('finished record', i); // } catch (e) { // console.error(e); // } // } // }