function process_mcxforex(count,n,baseurl,downloadpath,unzippath,outputpath,logpath)
{
try
{
var fs = require('fs');
var csv = require('ya-csv');
var async = require('async');
async.parallel({
data1 : function(callback){
if (fs.existsSync(downloadpath+'CD_MCXSX_20130107c.csv')) {
fs.readFile(downloadpath+'CD_MCXSX_20130107c.csv','utf-8', function(err, data){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+downloadpath+"CD_MCXSX_20130107c.csv";
}
callback(err, data);
});
}else
{
fs.readdir('html', function(err, files){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+downloadpath+"CD_MCXSX_20130107c.csv";
}
callback(err,'0');
});
}
}
}, function(err, result){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
if (fs.existsSync(downloadpath+'CD_MCXSX_20130107c.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(',');
arrFileData.push(tempArr);
}
var outputpath1=outputpath;
var filename = outputpath1+'MCX_Com_mcxsx_07012013.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 "+downloadpath+"CD_MCXSX_20130107c.csv";
}
var dates = new Array();
for(i=1;i<arrFileData.length;i++)
{
if(typeof arrFileData[i][3]!=="undefined" && arrFileData[i][3]!=="" && arrFileData[i][3]!==null && arrFileData[i][3]!= "\"N/A\"" && arrFileData[i][3]!= "N/A" && arrFileData[i][3]!= "NaN" && arrFileData[i][3]!= "undefined")
dates.push(new Date(arrFileData[i][3].split('-')[2],getMonth(arrFileData[i][3].split('-')[1]),arrFileData[i][3].split('-')[0]));
}
function sortDates(a, b)
{
return a.getTime() - b.getTime();
}
var sorted = dates.sort(sortDates);
console.log(sorted);
var m1=sorted[0].getMonth()+1;
var day=sorted[0].getFullYear()+'/'+m1+'/'+sorted[0].getDate();
var date ='20130107';
for(i=1;i<arrFileData.length;i++)
{
var date1 = new Date(day);
var date2 = new Date(arrFileData[i][3].split('-')[2]+'/'+getMonth(arrFileData[i][3].split('-')[1])+'/'+arrFileData[i][3].split('-')[0]);
m1=monthDiff(date1,date2);
if(m1==0)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-I'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-I'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
if(m1==1)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-II'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-II'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
if(m1==2)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-III'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-III'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
if(m1==3)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-IV'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-IV'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
if(m1==4)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-V'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-V'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
if(m1==5)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-VI'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-VI'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
if(m1==6)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-VII'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-VII'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
if(m1==7)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-VIII'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-VIII'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
if(m1==8)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-IX'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-IX'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
if(m1==9)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-X'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-X'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
if(m1==10)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-XI'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-XI'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
if(m1==11)
{
if(arrFileData[i][4]!='' && arrFileData[i][5]!=''){
fs.appendFileSync(filename,arrFileData[i][2]+'-XII'+arrFileData[i][4]+arrFileData[i][5]+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
else
{
fs.appendFileSync(filename,arrFileData[i][2]+'-XII'+','+arrFileData[i][2]+','+arrFileData[i][3].split('-')[2]+getMonth(arrFileData[i][3].split('-')[1])+arrFileData[i][3].split('-')[0]+','+arrFileData[i][6]+','+arrFileData[i][7]+','+arrFileData[i][8]+','+arrFileData[i][9]+','+arrFileData[i][12]+','+arrFileData[i][15]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
});
}
}
}
});
}
}
});
document.getElementById("om").innerHTML+="<br/>mcxsx_07012013.csv is processed..";
function monthDiff(d1, d2) {
var months;
months = (d2.getFullYear() - d1.getFullYear()) * 12;
months -= d1.getMonth() + 1;
months += d2.getMonth();
return months+1;
}
function getMonth(mon){
switch(mon.toUpperCase())
{
case 'JAN':
mon='01';
break;
case 'FEB':
mon='02';
break;
case 'MAR':
mon='03';
break;
case 'APR':
mon='04';
break;
case 'MAY':
mon='05';
break;
case 'JUN':
mon='06';
break;
case 'JUL':
mon='07';
break;
case 'AUG':
mon='08';
break;
case 'SEP':
mon='09';
break;
case 'OCT':
mon='10';
break;
case 'NOV':
mon='11';
break;
case 'DEC':
mon='12';
break;
}
return mon;
}
}
catch(err){
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+downloadpath+"CD_MCXSX_20130107c.csv";
}
}