function process_yahoodata(count,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn)
{
try {
try{
var fs = require('fs');
var csv = require('ya-csv');
var async = require('async');
async.parallel({
data1 : function(callback){
if (fs.existsSync('yahoo.csv')) {
fs.readFile('yahoo.csv','utf-8', function(err, data){
callback(err, data);
});
}else
{
fs.readdir('./', function(err, files){
callback(err,'0');
});
}
}
}, function(err, result){
if(err) throw err;
if (fs.existsSync('yahoo.csv')) {
var arrRow = new Array();
arrRow = result['data1'].split('\n');
if(arrRow.length>0)
{
var arrFileData = new Array();
for(var i=0 ; i<arrRow.length-1;i++)
{
var tempArr = arrRow[i].split(',')[0];
arrFileData.push(tempArr);
}
senddata(arrFileData);
}
else
{
document.getElementById("om").innerHTML+="<br/><font color=lightcoral>Please add yahoo symbols to download yahoo data</font>";
sn++;
callfun(count,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
}
}
else
{
document.getElementById("om").innerHTML+="<br/><font color=lightcoral>Please add yahoo symbols to download yahoo data</font>";
sn++;
callfun(count,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
}
});
}catch(err){
console.error(err);
}
function senddata(a){
var d=a.toString().replace(/,/g,'+');
var http = require('http'),fs = require('fs'), request = require('request');
var url_seclist='http://download.finance.yahoo.com/d/quotes.csv?s='+d+'&f=snl1ee7e8e9r5b4j4p5s6s7r1qdt8j1f6&e=.csv';
request(
{
method: 'GET',
uri: url_seclist,
headers: {"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11",
"Referer": "",
"Accept-Encoding": "gzip,deflate,sdch",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,**;q=0.8",
"Cookie": "cookie"
}
},
function(error, response, body) {
if (!error && response.statusCode == 200) {
downloadyahoocsv(response.statusCode);
}
else
{
downloadyahoocsv(response.statusCode);
}
}
);
function downloadyahoocsv(statuscode)
{
if(statuscode==200){
var secout = fs.createWriteStream(downloadpath+'Yahoo_Fundamental.csv');
var req=request(
{
method: 'GET',
uri: url_seclist,
headers: {"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11",
"Referer": "",
"Accept-Encoding": "gzip,deflate,sdch",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,**;q=0.8",
"Cookie": "cookie"
}
});
req.pipe(secout);
loadprogressbar();
req.on('end',function(){
processyahoofun(count,0,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
});
}
else
{
document.getElementById("om").innerHTML+="<br/><font color=red>Yahoo_Fundamental.csv is not on server</font>";
addlog(logpath, 'Yahoo_Fundamental.csv is not on server');
}
}
}
}
catch(err)
{
if(err){document.getElementById("om").innerHTML+="<br/>"+err;}
}
function processyahoofun(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn)
{
try{
outputpath=outputpath;
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');
async.parallel({
data1 : function(callback){
if (fs.existsSync(downloadpath+'Yahoo_Fundamental.csv')) {
Ext.getCmp('pbar3').updateText('Processing etf'+d+m+y+'.csv');
fs.readFile(downloadpath+'Yahoo_Fundamental.csv','utf-8', function(err, data){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while reading "+unzippath+"etf"+d+m+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+"etf"+d+m+y+".csv";
}
callback(err,'0');
});
}
}
}, function(err, result){
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"etf"+d+m+y+".csv";
}
if (fs.existsSync(downloadpath+'Yahoo_Fundamental.csv')) {
Ext.getCmp('pbar3').updateText('Processing etf'+d+m+y+'.csv');
var arrRow = new Array();
arrRow = result['data1'].split('\n');
var arrFileData = new Array();
for(var i=0 ; i<arrRow.length;i++)
{
arrRow[i]=arrRow[i].toString().replace(/"/g, '').trim();
arrRow[i]=arrRow[i].toString().replace(/\//g, '').trim();
arrRow[i]=arrRow[i].toString().replace(/NA/g, '0').trim();
var tempArr = arrRow[i].split(',');
arrFileData.push(tempArr);
}
var filename = outputpath+'Yahoo_Fundamental.csv';
var header='TICKER,NAME,DATE,OPEN,HIGH,LOW,CLOSE,VOLUME,OPENINT';
var date=yy+m+d;
if(!fs.existsSync(filename)){
for(var i=0 ; i<arrFileData.length-1;i++)
{
fs.appendFileSync(filename, arrFileData[i]+'\n','UTF-8', function (err) {
if(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"etf"+d+m+y+".csv";
}
});
}
}
}
});
document.getElementById("om").innerHTML+='<br/>etf'+d+m+y+'.csv is processed';
addlog(logpath, 'etf'+d+m+y+'.csv is processed');
n++;
if(count.length>n)
{
loadprogressbar();
setTimeout(function (){
processyahoofun(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn)
}, 1000);
document.getElementById("om").innerHTML+='..';
}
else{
loadprogressbar();
sn++;
callfun(count,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
}
}
catch(err)
{
document.getElementById("om").innerHTML+="<br/>An error occured while processing "+unzippath+"etf"+d+m+y+".csv";
n++;
if(count.length>n)
{
loadprogressbar();
setTimeout(function (){
processyahoofun(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn)
}, 1000);
document.getElementById("om").innerHTML+='..';
}
else{
loadprogressbar();
sn++;
callfun(count,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
}
}
}
}