function process_nseindex(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+'pd'+d+m1+y+'.csv')) {
Ext.getCmp('pbar3').updateText('Processing pd'+d+m1+y+'.csv');
fs.readFile(unzippath+'pd'+d+m1+y+'.csv','utf-8', function(err, data){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+unzippath+"pd"+d+m1+y+".csv";
}
callback(err, data);
});
}else
{
fs.readdir(downloadpath, function(err, files){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+unzippath+"pd"+d+m1+y+".csv";
}
callback(err,'0');
});
}
}
}, function(err, result){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"pd"+d+m1+y+".csv";
}
if (fs.existsSync(unzippath+'pd'+d+m1+y+'.csv')) {
Ext.getCmp('pbar3').updateText('Processing pd'+d+m1+y+'.csv');
var arrRow = new Array();
arrRow = result['data1'].split('\n');
var arrFileData = new Array();
for(var i=0 ; i<arrRow.length;i++)
{
var tempArr = arrRow[i].split(',');
arrFileData.push(tempArr);
}
var filename = outputpath+'NSE_Indices_nseindex.csv';
if (fs.existsSync(filename))
{
var date = yy+m1+d;
var count=0;
for(i=1; i<arrFileData.length;i++)
{
if(arrFileData[i][3]==" ")
{
break;
}
else
{
fs.appendFileSync(filename, arrFileData[i][3].replace(/\s/g, '')+','+arrFileData[i][3]+','+date+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][10]+','+'0'+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"pd"+d+m1+y+".csv";
}
});
}
}
}
else
{
var header='TICKER,NAME,DATE,OPEN,HIGH,LOW,CLOSE,VOLUME,OPENINT';
fs.writeFile(filename, header+'\n', function (err)
{
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"pd"+d+m1+y+".csv";
}
var date = yy+m1+d;
var count=0;
for(i=1; i<arrFileData.length;i++)
{
if(arrFileData[i][3]==" ")
{
break;
}
else
{
fs.appendFileSync(filename, arrFileData[i][3].replace(/\s/g, '')+','+arrFileData[i][3]+','+date+','+arrFileData[i][5]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][10]+','+'0'+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"pd"+d+m1+y+".csv";
}
});
}
}
});
}
}
});
document.getElementById("om").innerHTML+="<br/>pd"+d+m1+y+".csv is processed..";
addlog(logpath, 'pd'+d+m1+y+'.csv is processed..');
n++;
if(count.length>n)
{
loadprogressbar();
setTimeout(function (){
process_nseindex(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn)
}, 2000);
document.getElementById("om").innerHTML+='..';
}
else
{
Ext.getCmp('pbar3').updateText('');
Ext.getCmp('pbar3').updateProgress(0);
visit('indices.html');
sn++;
callfun(count,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
}
}catch(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"pd"+d+m1+y+".csv";
n++;
if(count.length>n)
{
loadprogressbar();
setTimeout(function (){
process_nseindex(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn)
}, 2000);
document.getElementById("om").innerHTML+='..';
}
else
{
Ext.getCmp('pbar3').updateText('');
Ext.getCmp('pbar3').updateProgress(0);
visit('indices.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);
}
}