Initial commit for OpenECOMP SDN-C OA&M
[sdnc/oam.git] / admportal / server / router / routes / helpers.js
1 \r
2 var _ = require('lodash');\r
3 var csvtojson = require('csvtojson');\r
4 var async = require('async');\r
5 var uuid = require('node-uuid');   // generate a uuid with "uuid.v1()"\r
6 var path = require('path');\r
7 var fs = require("fs");\r
8 var moment = require('moment');\r
9 \r
10 var helpers = module.exports;\r
11 \r
12 function puts(obj) { console.log(obj); } \r
13 function putd(obj) { console.log(obj); } \r
14 helpers.puts = puts;\r
15 helpers.putd = putd;\r
16 \r
17 \r
18 helpers.readCsv = function(filedir, filename, callback) {\r
19 \r
20 \r
21   var Converter=csvtojson.Converter;\r
22   var csvFileName=path.join(filedir,filename);\r
23   var fileStream=fs.createReadStream(csvFileName);\r
24   fileStream.on('error', function(err){\r
25         callback(err, null);\r
26   });\r
27   var param={noheader:true, checkType:false};\r
28   var csvConverter=new Converter(param);\r
29   csvConverter.on("end_parsed",function(jsonObj){\r
30      var returnValue = jsonObj;\r
31      callback(null, returnValue);\r
32   });\r
33   fileStream.on('error', function(err) {\r
34     putd(err);\r
35     callback(err,"");\r
36   });\r
37   fileStream.pipe(csvConverter);\r
38 }\r
39 \r
40 helpers.getParam = function(csv, matchField, matchValue, returnField) {\r
41   dataRow=_.find(csv, matchField, matchValue);\r
42   dataValue=dataRow[returnField];\r
43   return dataValue;\r
44 }\r
45 \r
46 helpers.writeOutput = function(req, filename, jsonOutput, callback) {\r
47   try {\r
48         fs.writeFileSync(filename, jsonOutput);\r
49   }\r
50   catch(err){\r
51         callback(err);\r
52   }\r
53 }\r
54 \r
55 helpers.getFileName = function(req, defFilename) {\r
56   \r
57   var fileObj = null;\r
58   for (var x=0; x < req.files.length; x++)\r
59   {\r
60         var fileObj = req.files[x];\r
61         if ( fileObj.filename.indexOf(defFilename) != -1 ){\r
62                 return fileObj.filename;\r
63         }\r
64   }\r
65   return null;\r
66 }\r