function process_nseforexf(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn)
{
try{
var mon=count[n].split('-')[0];
var m1=count[n].split('-')[1];
var d=count[n].split('-')[2];
var yy=count[n].split('-')[3];
var y=yy.substr(2,2);
var fs = require('fs');
var csv = require('ya-csv');
var async = require('async');
async.parallel({
data1 : function(callback){
if (fs.existsSync(unzippath+'unzip1/cf'+d+m1+yy+'.csv')) {
Ext.getCmp('pbar3').updateText('Processing cf'+d+m1+yy+'.csv');
fs.readFile(unzippath+'unzip1/cf'+d+m1+yy+'.csv','utf-8', function(err, data){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
callback(err, data);
});
}else
{
fs.readdir(downloadpath, function(err, files){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
callback(err,'0');
});
}
}
}, function(err, result){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
if (fs.existsSync(unzippath+'unzip1/cf'+d+m1+yy+'.csv')) {
Ext.getCmp('pbar3').updateText('Processing cf'+d+m1+yy+'.csv');
var arrRow = new Array();
arrRow = result['data1'].split('\n');
var arrFileData = new Array();
for(var i=0 ; i<arrRow.length-2;i++)
{
var tempArr = arrRow[i].split(',');
arrFileData.push(tempArr);
}
var filename = outputpath+'NSE_Forex_Futures_cf'+d+m1+yy+'.csv';
var header='TICKER,NAME,DATE,OPEN,HIGH,LOW,CLOSE,VOLUME,OPENINT';
if(!fs.existsSync(filename)){
fs.writeFile(filename, header+'\n', function (err)
{
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
var dates = new Array();
for(i=0;i<arrFileData.length;i++)
{
if(typeof arrFileData[i][2]!=="undefined" && arrFileData[i][2]!=="" && arrFileData[i][2]!==null && arrFileData[i][2]!= "\"N/A\"" && arrFileData[i][2]!= "N/A" && arrFileData[i][2]!= "NaN" && arrFileData[i][2]!= "undefined")
dates.push(new Date(arrFileData[i][2].split('/')[2],arrFileData[i][2].split('/')[1]-1,arrFileData[i][2].split('/')[0]));
}
function sortDates(a, b)
{
return a.getTime() - b.getTime();
}
var sorted = dates.sort(sortDates);
var m=sorted[1].getMonth()+1;
var day=sorted[1].getFullYear()+'/'+m+'/'+sorted[1].getDate();
var date = yy+m1+d;
for(i=1;i<arrFileData.length;i++)
{
var date1 = new Date(day);
var date2 = new Date(arrFileData[i][2].split('/')[2]+'/'+arrFileData[i][2].split('/')[1]+'/'+arrFileData[i][2].split('/')[0]);
m=monthDiff(date1,date2);
if(m==0)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-I'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
if(m==1)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-II'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
if(m==2)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-III'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
if(m==3)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-IV'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
if(m==4)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-V'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
if(m==5)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-VI'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
if(m==6)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-VII'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
if(m==7)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-VIII'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
if(m==8)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-IX'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
if(m==9)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-X'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
if(m==10)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-XI'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
if(m==11)
{
fs.appendFileSync(filename,arrFileData[i][1].toString().trim()+'-XII'+','+''+','+date+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][9].toString().trim()+','+arrFileData[i][7]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
}
});
}
}
});
}
}
});
document.getElementById("om").innerHTML+="<br/>cf"+d+m1+yy+".csv is processed..";
addlog(logpath, 'cf'+d+mon+yy+'.csv is processed..');
n++;
if(count.length>n)
{
loadprogressbar();
setTimeout(function (){
process_nseforexf(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn)
}, 1000);
document.getElementById("om").innerHTML+='..';
}
else{
loadprogressbar();
visit('nseff.html');
sn++;
callfun(count,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
}
}
catch(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+unzippath+"unzip1/cf"+d+m1+yy+".csv";
addlog(logpath, err);
n++;
if(count.length>n)
{
loadprogressbar();
setTimeout(function (){
process_nseforexf(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn)
}, 1000);
document.getElementById("om").innerHTML+='..';
}
else
{
loadprogressbar();
visit('nseff.html');
sn++;
callfun(count,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
}
}
}
function monthDiff(d1, d2) {
try
{
var months;
months = (d2.getFullYear() - d1.getFullYear()) * 12;
months -= d1.getMonth() + 1;
months += d2.getMonth();
return months+1;
}catch(err)
{
console.log(err);
}
}