function process_nse(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod)
{
var mon=count[n].split('-')[0];
var m=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');
Ext.getCmp('pbar3').updateText('cm'+d+mon+yy+'bhav.csv processing started. . .');
async.parallel({
data1 : function(callback){
if (fs.existsSync(unzippath+'cm'+d+mon+yy+'bhav.csv')) {
Ext.getCmp('pbar3').updateText('Processing cm'+d+mon+yy+'bhav.csv');
fs.readFile(unzippath+'cm'+d+mon+yy+'bhav.csv','utf-8', function(err, data){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+unzippath+"cm"+d+mon+yy+"bhav.csv.";
}
callback(err, data);
});
}else
{
fs.readdir(downloadpath, function(err, files){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+unzippath+"cm"+d+mon+yy+"bhav.csv.";
}
callback(err,'0');
});
}
},
data2 : function(callback){
if (fs.existsSync(downloadpath+'sec_list.csv')) {
fs.readFile(downloadpath+'sec_list.csv','utf-8', function(err, data){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+downloadpath+"sec_list.csv.";
}
callback(err, data);
});
}else
{
fs.readdir(downloadpath, function(err, files){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+downloadpath+"sec_list.csv.";
}
callback(err,'0');
});
}
},
data3 : function(callback){
if (fs.existsSync(downloadpath+'MTO_'+d+m+yy+'.DAT')) {
fs.readFile(downloadpath+'MTO_'+d+m+yy+'.DAT','utf-8', function(err, data){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+downloadpath+"MTO_"+d+m+yy+".DAT.";
}
callback(err, data);
});
}else
{
fs.readdir(downloadpath, function(err, files){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+downloadpath+"MTO_"+d+m+yy+".DAT.";
}
callback(err,'0');
});
}
}
}, function(err, result){
if(err){
document.getElementById("om").innerHTML+="<br/>An error occured while processing cm"+d+mon+yy+"bhav.csv. Files not processed.";
};
if (fs.existsSync(unzippath+'cm'+d+mon+yy+'bhav.csv')) {
Ext.getCmp('pbar3').updateText('Processing cm'+d+mon+yy+'bhav.csv');
var arrRow = new Array();
arrRow = result['data1'].split('\n');
var arrFileData = new Array();
for(var i=0 ; i<arrRow.length-1;i++)
{
var tempArr = arrRow[i].split(',');
if(tempArr[1].toString().trim()=='EQ' || tempArr[1].toString().trim()=='BE')
{
if(i > 0)
{
var tempArrPrev = arrRow[i-1].split(',');
if(tempArr[0].toString().trim() == tempArrPrev[0].toString().trim())
{
if(tempArr[1].toString().trim() == 'BE')
{
continue;
}
if(tempArrPrev[1].toString().trim() == 'BE')
{
arrFileData.pop();
}
}
arrFileData.push(tempArr);
}
}
}
if (fs.existsSync(downloadpath+'sec_list.csv')) {
var arrRow1 = new Array();
arrRow1 = result['data2'].split('\n');
var arrFileData1 = new Array();
for( i=0 ; i<arrRow1.length-1 ;i++)
{
var tempArr1 = arrRow1[i].split(',');
arrFileData1.push(tempArr1);
}
for( i=0; i<arrFileData.length; i++)
{
for(var j=1; j<arrFileData1.length; j++)
{
if(arrFileData[i][0].toString()==arrFileData1[j][0].toString())
{
arrFileData[i][13] = arrFileData1[j][2];
}
}
}
}
for(i=0; i<arrFileData.length; i++)
{
if(arrFileData[i][13] == null || arrFileData[i][13] == "")
{
arrFileData[i][13] = '-';
}
}
if (fs.existsSync(downloadpath+'MTO_'+d+m+yy+'.DAT'))
{
var arrRow2 = new Array();
arrRow2 = result['data3'].split('\n');
var arrFileData2 = new Array();
for( i=3 ; i<arrRow2.length-1 ;i++)
{
var tempArr2 = arrRow2[i].split(',');
arrFileData2.push(tempArr2);
}
for(i=0; i<arrFileData.length; i++)
{
for(j=1; j<arrFileData2.length; j++)
{
if((arrFileData[i][0].toString() == arrFileData2[j][2].toString()) && (arrFileData[i][1].toString() == arrFileData2[j][3].toString()))
{
arrFileData[i][14] = arrFileData2[j][5];
}
}
}
}
for( i=0; i<arrFileData.length; i++)
{
if(arrFileData[i][14] == null)
arrFileData[i][14] = '0';
}
var arrFinal = new Array();
var arrHeader = ['TICKER','NAME','DATE','OPEN','HIGH','LOW','CLOSE','VOLUME','OPENINT'];
if(!fs.existsSync(outputpath+'Nse_Cash_Market_cm'+d+mon+yy+'bhav.csv')){
fs.writeFile(outputpath+'Nse_Cash_Market_cm'+d+mon+yy+'bhav.csv', arrHeader+'\n', function(err){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing cm"+d+mon+yy+"bhav.csv. Files not processed.";
addlog(logpath, err);
}
for( i=0; i<arrFileData.length; i++)
{
fs.appendFileSync(outputpath+'Nse_Cash_Market_cm'+d+mon+yy+'bhav.csv', arrFileData[i][0]+','+arrFileData[i][13]+','+yy+''+m+''+d+','+arrFileData[i][2]+','+arrFileData[i][3]+','+arrFileData[i][4]+','+arrFileData[i][5]+','+arrFileData[i][8]+','+arrFileData[i][14]+'\n','UTF-8', function(err){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing cm"+d+mon+yy+"bhav.csv. Files not processed.";
}
});
}
});
}
}
});
document.getElementById("om").innerHTML+="<br/>cm"+d+mon+yy+"bhav.csv is processed..";
addlog(logpath, 'cm'+d+mon+yy+'bhav.csv is processed..');
n++;
if(count.length>n)
{
loadprogressbar();
setTimeout(function (){
process_nse(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod)
}, 2000);
document.getElementById("om").innerHTML+='..';
}
else
{
Ext.getCmp('pbar3').updateText('');
Ext.getCmp('pbar3').updateProgress(0);
visit('nsecm.html');
fs.writeFile('lastupdate.csv','lastdate,'+m+'/'+d+'/'+yy+'\n' , function (err) {
if(err)
document.getElementById("om").innerHTML+="<br/>An error occured while processing cm"+d+mon+yy+"bhav.csv. Files not processed.";
});
callfun(count,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,0);
}
}