return new Promise(function(resolve, reject) { console.log("http://dof.gob.mx/indicadores_detalle.php?cod_tipo_indicador=" + indicator + "&dfecha=" + iDay + "%2F" + iMonth + "%2F" + iYear + "&hfecha=" + fDay + "%2F" + fMonth + "%2F" + fYear) htmlToJson.request("http://dof.gob.mx/indicadores_detalle.php?cod_tipo_indicador=" + indicator + "&dfecha=" + iDay + "%2F" + iMonth + "%2F" + iYear + "&hfecha=" + fDay + "%2F" + fMonth + "%2F" + fYear, { 'response': ['td.txt', function($text) { return $text.text(); }] }, function(err, result) { if (err) reject(err) var finalResult = []; result = result.response for (var i = 2; i < result.length; i += 2) { var dateT = result[i].split(""); temp = dateT[0]; dateT[0] = dateT[3]; dateT[3] = temp; temp = dateT[1]; dateT[1] = dateT[4]; dateT[4] = temp; result[i] = dateT.join(""); finalResult.push({ date: result[i], value: result[i + 1] }); } console.log(finalResult.length) resolve(finalResult) }); });
getRacing: function (url) { var d = q.defer(); if (url) { var horsesRacing = htmlToJson.request(url, { RacingType: ['.nav-racing>ul>li', { name: ['.nav-racing>ul>li>a', function ($name) { return $name.text(); }], tournaments: ['.nav-racing>ul>li>ul>li', { name: ['.nav-racing>ul>li>ul>li>a', function ($name) { return $name.text(); }], href: ['.nav-racing>ul>li>ul>li>a', function ($name) { return $name.attr('href'); }] }] }] }, function (err, data) { if (err) { d.reject('getRacing error'); } else { d.resolve(data.RacingType); } }); } else { var data = []; d.resolve(data); } return d.promise; },
getSubCategory: function (url) { var d = q.defer(); if (url) { var promise = htmlToJson.request(url, { rounds: ['.nav-racing>ul>li>ul>li>ul>li>ul>li>ul>li', { number: ['.nav-racing>ul>li>ul>li>ul>li>ul>li>ul>li>a', function ($name) { var content = $name.text(); var res = content.split('-'); return res[0].trim(); }], startTime: ['.nav-racing>ul>li>ul>li>ul>li>ul>li>ul>li>a', function ($name) { var content = $name.text(); var res = content.split('-'); return res[1][2].trim(); }], href: ['.nav-racing>ul>li>ul>li>ul>li>ul>li>ul>li>a', function ($href) { return $href.attr('href'); }] }] }, function (err, data) { if (err) { d.reject('getSubcategory has error'); } else { d.resolve(data.rounds); } }); } else { var data = []; d.resolve(data); } return d.promise; },
getDays: function (url) { var d = q.defer(); if (url) { var promise = htmlToJson.request(url, { days: ['.nav-racing>ul>li>ul>li>ul>li', { name: ['.nav-racing>ul>li>ul>li>ul>li>a', function ($name) { return $name.text(); }], subCategories: ['.nav-racing>ul>li>ul>li>ul>li>ul>li', { name: ['.nav-racing>ul>li>ul>li>ul>li>ul>li>a', function ($name) { return $name.text(); }], href: ['.nav-racing>ul>li>ul>li>ul>li>ul>li>a', function ($href) { return $href.attr('href'); }] }] }] }, function (err, data) { if (err) { d.reject('getDays has error'); } else { d.resolve(data.days); } }); } else { var data = []; d.resolve(data); } return d.promise; },
var _schools = (callback) => { htmlToJson.request( 'https://sts.rmit.edu.au/STS-ReadOnly/ro_index.jsp', { 'schools': ['#acad_org option', ($school) => { return { value: $school.val(), text: $school.text() }; }] }, (err,result) => { callback(result.schools); } ); }
getRacers: function (url) { var d = q.defer(); sails.log(url); if (url) { var promise = htmlToJson.request(url, { racers: ['.racing-bettype-row', { name: ['.racing-bettype-row>.vis-row>.racer-form>.racer-details>.racer-name', function ($name) { var $content=$name.text().trim(); var $content2=$content.split('.'); var $content3=$content2[1].split('('); return $content3[0].trim(); }], number: ['.racing-bettype-row>.vis-row>.racer-form>.racer-details>.racer-name', function ($name) { var $content=$name.text().trim(); var $content2=$content.split('.'); return $content2[0].trim(); }], barrier: ['.racing-bettype-row>.vis-row>.racer-form>.racer-details>.racer-name', function ($name) { var $content=$name.text().trim(); var $content2=$content.split('('); var $content3=$content2[1].split(')'); return $content3[0].trim(')'); }], win: ['.racing-bettype-row>.vis-row>.float-right>.dflt_win_price>a>span', function ($val) { return $val.text().trim(); }], place: ['.racing-bettype-row>.vis-row>.float-right>li:nth-child(2)>a>span', function ($val) { //not(.dflt_win_price):not(.subtab-WO) return $val.text().trim(); }] }] }, function (err, data) { if (err) { d.reject('getHorses has error'); } else { d.resolve(data.racers); } }); } else { var data = []; d.resolve(data); } return d.promise; },