hook up actual qr writer
authorSteve Hackbarth <stephenhackbarth@gmail.com>
Mon, 8 Sep 2014 20:47:06 +0000 (16:47 -0400)
committerSteve Hackbarth <stephenhackbarth@gmail.com>
Mon, 8 Sep 2014 20:47:06 +0000 (16:47 -0400)
i_love_qr.png [deleted file]
node-datasource/routes/generate_report.js

diff --git a/i_love_qr.png b/i_love_qr.png
deleted file mode 100644 (file)
index 75671de..0000000
Binary files a/i_love_qr.png and /dev/null differ
index 58c4995..5eefd43 100644 (file)
@@ -15,6 +15,7 @@ regexp:true, undef:true, strict:true, trailing:true, white:true */
     path = require("path"),
     ipp = require("ipp"),
     Report = require('fluentreports').Report,
+    qr = require('qr-image'),
     queryForData = require("./export").queryForData;
 
   /**
@@ -550,23 +551,16 @@ regexp:true, undef:true, strict:true, trailing:true, white:true */
         return;
       }
 
-      async.each(marriedQrElements, function (element, next) {
-        var target = element.target.substring(0, 5);
-        imageFilenameMap[element.source] = target + ".png";
-
-        // here's the actual qr code code, which requires node 10
-        //var qr = require('qr-image');
-        //var qr_svg = qr.image('I love QR!', { type: 'png' });
-        //qr_svg.pipe(require('fs').createWriteStream('i_love_qr.png'));
-
-        // here's the placeholder code that serves as a proof of concept
-        var sourceFile = path.join(__dirname, "../../i_love_qr.png");
-        fs.readFile(sourceFile, function (err, contents) {
-          fs.writeFile(path.join(workingDir, target + ".png"), contents, function (err) {
-            next();
-          });
+      async.eachSeries(marriedQrElements, function (element, next) {
+        var targetFilename = element.target.replace(/\W+/g, "") + ".png",
+        qr_svg = qr.image(element.target, { type: 'png' }),
+        writeStream = fs.createWriteStream(path.join(workingDir, targetFilename));
+
+        qr_svg.pipe(writeStream);
+        writeStream.on("finish", function () {
+          imageFilenameMap[element.source] = targetFilename;
+          next();
         });
-        // end placeholder code
 
       }, done);
     };