Advertisement
ROODAY

Uploader

Jul 27th, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var firebase = require("firebase");
  2. firebase.initializeApp({
  3.   serviceAccount: "./credentials.json",
  4.   databaseURL: "https://necir-hackathon.firebaseio.com/"
  5. });
  6.  
  7. var db = firebase.database();
  8. var ref = db.ref("/reports");
  9. var fs = require('fs');
  10. var Converter = require("csvtojson").Converter;
  11. var header = "Report_ID,Status,CPF_ID,Filing_ID,Report_Type_ID,Report_Type_Description,Amendment,Amendment_Reason,Amendment_To_Report_ID,Amended_By_Report_ID,Filing_Date,Reporting_Period,Report_Year,Beginning_Date,Ending_Date,Beginning_Balance,Receipts,Subtotal,Expenditures,Ending_Balance,Inkinds,Receipts_Unitemized,Receipts_Itemized,Expenditures_Unitemized,Expenditures_Itemized,Inkinds_Unitemized,Inkinds_Itemized,Liabilities,Savings_Total,Report_Month,UI,Reimbursee,Candidate_First_Name,Candidate_Last_Name,Full_Name,Full_Name_Reverse,Bank_Name,District_Code,Office,District,Comm_Name,Report_Candidate_First_Name,Report_Candidate_Last_Name,Report_Office_District,Report_Comm_Name,Report_Bank_Name,Report_Candidate_Address,Report_Candidate_City,Report_Candidate_State,Report_Candidate_Zip,Report_Treasurer_First_Name,Report_Treasurer_Last_Name,Report_Comm_Address,Report_Comm_City,Report_Comm_State,Report_Comm_Zip,Category,Candidate_Clarification,Rec_Count,Exp_Count,Inkind_Count,Liab_Count,R1_Count,CPF9_Count,SV1_Count,Asset_Count,Savings_Account_Count,R1_Item_Count,CPF9_Item_Count,SV1_Item_Count,Filing_Mechanism,Also_Dissolution,Segregated_Account_Type,Municipality_Code,Current_Report_ID,Location,Individual_Or_Organization,Notable_Contributor,Currently_Accessed"
  12. var queue = [];
  13. var count = 0;
  14. var upload_lock = false;
  15. var lineReader = require('readline').createInterface({
  16.   input: fs.createReadStream('test.csv')
  17. });
  18.  
  19. lineReader.on('line', function (line) {
  20.     var line = line.replace(/'/g, "\\'");
  21.     var csvString = header + '\n' + line;
  22.     var converter = new Converter({});
  23.     converter.fromString(csvString, function(err,result){
  24.         if (err) {
  25.             var errstring = err + "\n";
  26.             fs.appendFile('converter_error_log.txt', errstring, function(err){
  27.                 if (err) {
  28.                 console.log("Converter: Append Log File Error Below:");
  29.                 console.error(err);
  30.                 process.exit(1);
  31.             } else {
  32.                 console.log("Converter Error Saved");
  33.             }
  34.             });
  35.         } else {
  36.             result[0].Location = "";
  37.             result[0].Individual_Or_Organization = "";
  38.             result[0].Notable_Contributor = "";
  39.             result[0].Currently_Accessed = "";
  40.             var reportRef = ref.child(result[0].Report_ID);
  41.             count += 1;
  42.             reportRef.set(result[0]);
  43.             console.log("Sent #" + count);
  44.       }
  45.     });
  46. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement