Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function loadSystemPrices(priceIDs,systemID,cachebuster){
- if (typeof systemID == 'undefined'){
- systemID=30000142;
- }
- if (typeof priceIDs == 'undefined'){
- throw 'need typeids';
- }
- if (typeof cachebuster == 'undefined'){
- cachebuster=1;
- }
- var prices = new Array();
- var dirtyTypeIds = new Array();
- var cleanTypeIds = new Array();
- var url="http://api.eve-central.com/api/marketstat?cachebuster="+cachebuster+"&usesystem="+systemID+"&typeid=";
- priceIDs.forEach (function (row) {
- row.forEach ( function (cell) {
- if (typeof(cell) === 'number' ) {
- dirtyTypeIds.push(cell);
- }
- });
- });
- cleanTypeIds = dirtyTypeIds.filter(function(v,i,a) {
- return a.indexOf(v)===i;
- });
- var parameters = {method : "get", payload : ""};
- var o,j,temparray,chunk = 100;
- for (o=0,j=cleanTypeIds.length; o < j; o+=chunk) {
- temparray = cleanTypeIds.slice(o,o+chunk);
- var xmlFeed = UrlFetchApp.fetch(url+temparray.join("&typeid="), parameters).getContentText();
- var xml = XmlService.parse(xmlFeed);
- if(xml) {
- var rows=xml.getRootElement().getChild("marketstat").getChildren("type");
- for(var i = 0; i < rows.length; i++) {
- var price=[parseInt(rows[i].getAttribute("id").getValue()),
- parseInt(rows[i].getChild("buy").getChild("volume").getValue()),
- parseFloat(rows[i].getChild("buy").getChild("avg").getValue()),
- parseFloat(rows[i].getChild("buy").getChild("max").getValue()),
- parseFloat(rows[i].getChild("buy").getChild("min").getValue()),
- parseFloat(rows[i].getChild("buy").getChild("stddev").getValue()),
- parseFloat(rows[i].getChild("buy").getChild("median").getValue()),
- parseFloat(rows[i].getChild("buy").getChild("percentile").getValue()),
- parseInt(rows[i].getChild("sell").getChild("volume").getValue()),
- parseFloat(rows[i].getChild("sell").getChild("avg").getValue()),
- parseFloat(rows[i].getChild("sell").getChild("max").getValue()),
- parseFloat(rows[i].getChild("sell").getChild("min").getValue()),
- parseFloat(rows[i].getChild("sell").getChild("stddev").getValue()),
- parseFloat(rows[i].getChild("sell").getChild("median").getValue()),
- parseFloat(rows[i].getChild("sell").getChild("percentile").getValue())];
- prices.push(price);
- }
- }
- }
- return prices;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement