Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*-------------------
- Developed by: John Purcell
- Contact info
- - Twitter: @HLIBindustry
- - Blog: eve-prosper.blogspot.com
- */
- var base_CREST_URL = "https://esi.evetech.net/latest/";
- var test_CREST_URL = "https://public-crest-sisi.testeveonline.com/";
- var base_API_URL = "https://api.eveonline.com/char/AssetList.xml.aspx?";
- var min_wait = 10;
- var max_wait = 500;
- function date_array(days)
- {
- var daterange = [];
- var mydate = new Date();
- mydate.setDate(mydate.getDate()-1);//API doesn't give TODAY's data
- for (var datestep=0; datestep<days; datestep++)
- {
- var datestr = "";
- var month = mydate.getMonth()+1;
- if (month < 10)
- {
- month = "0"+month;
- }
- var day = mydate.getDate();
- if (day <10)
- {
- day = "0"+day;
- }
- datestr = mydate.getFullYear()+"-"+month+"-"+day+"T00:00:00";
- daterange[datestep] = datestr;
- mydate.setDate(mydate.getDate()-1);
- }
- return daterange;
- }
- //// FETCH FUNCS ////
- function __fetchCrest_market(region_id,item_id)
- {
- var parameters = {
- method : "get",
- user_agent : "Lockefox @HLIBindustry GDOC scripts",
- }
- var sleeptime = min_wait + (max_wait - min_wait)*Math.random();
- Utilities.sleep(sleeptime);
- var url = base_CREST_URL+"markets/"+region_id+"/history/?datasource=tranquility&type_id="+item_id
- var text = UrlFetchApp.fetch(url,parameters);
- var json_obj = JSON.parse(text);
- return json_obj;
- }
- //// GDOC FUNCS ////
- function getAvgVolume(days,item_id,region_id)
- {
- var market_obj = {};
- market_obj = __fetchCrest_market(region_id,item_id);
- var date_range = [];
- date_range = date_array(days);
- var volumes = 0;
- for (var index = 0; index < market_obj["items"].length; index ++)
- {
- var API_date = market_obj["items"][index]["date"];
- for (var indx2 = 0; indx2 < date_range.length; indx2++)
- {
- if (date_range[indx2] == API_date)
- {
- volumes += market_obj["items"][index]["volume"];
- break;
- }
- }
- }
- return volumes/days;
- }
- function group_getAvgVolume(days,item_id_list,region_id)
- {
- var return_list = [];
- var item_list = new Array();
- item_id_list.forEach (function(row){
- row.forEach (function(cell){
- if(typeof(cell) === 'number'){
- item_list.push(cell);
- }
- });
- });
- var cleanTypeIds = new Array();
- cleanTypeIds = item_list.filter(function(v,i,a) {
- return a.indexOf(v)===i;
- });
- for (var index=0; index < cleanTypeIds.length; index++)
- {
- var avgVol = getAvgVolume(days,cleanTypeIds[index],region_id)
- return_list.push(avgVol)
- //Utilities.sleep(1000)
- }
- return return_list
- }
- function getVolumes(days,item_id,region_id)
- {
- var market_obj = {};
- market_obj = __fetchCrest_market(region_id,item_id);
- var date_range = [];
- date_range = date_array(days);
- var volumes = [];
- for (var index = 0; index < market_obj["items"].length; index ++)
- {
- var API_date = market_obj["items"][index]["date"];
- for (var indx2 = 0; indx2 < date_range.length; indx2++)
- {
- if (date_range[indx2] == API_date)
- {
- volumes.push(market_obj["items"][index]["volume"]);
- break;
- }
- }
- }
- return volumes;
- }
Add Comment
Please, Sign In to add comment