kopia lustrzana https://gitlab.com/gridtracker.org/gridtracker
Ignore pota downloads if we became disabled while requesting data
rodzic
aa25f41ec3
commit
d1ba87803f
|
@ -119,31 +119,34 @@ function makeParkFeature(park)
|
||||||
|
|
||||||
function processPotaParks(buffer)
|
function processPotaParks(buffer)
|
||||||
{
|
{
|
||||||
try
|
if (g_potaEnabled == 1)
|
||||||
{
|
{
|
||||||
let newParks = JSON.parse(buffer);
|
try
|
||||||
for (const park in newParks)
|
|
||||||
{
|
{
|
||||||
let locations = newParks[park].locationDesc.split(",");
|
let newParks = JSON.parse(buffer);
|
||||||
for (const i in locations)
|
for (const park in newParks)
|
||||||
{
|
{
|
||||||
if (locations[i] in g_StateData)
|
let locations = newParks[park].locationDesc.split(",");
|
||||||
|
for (const i in locations)
|
||||||
{
|
{
|
||||||
locations[i] = g_StateData[locations[i]].name;
|
if (locations[i] in g_StateData)
|
||||||
|
{
|
||||||
|
locations[i] = g_StateData[locations[i]].name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
newParks[park].locationDesc = locations.join(", ");
|
||||||
}
|
}
|
||||||
newParks[park].locationDesc = locations.join(", ");
|
g_pota.parks = newParks;
|
||||||
}
|
|
||||||
g_pota.parks = newParks;
|
|
||||||
|
|
||||||
getPotaSchedule();
|
getPotaSchedule();
|
||||||
getPotaSpots();
|
getPotaSpots();
|
||||||
}
|
}
|
||||||
catch (e)
|
catch (e)
|
||||||
{
|
{
|
||||||
// can't write, somethings broke
|
// can't write, somethings broke
|
||||||
console.log("Failed to load parks!");
|
console.log("Failed to load parks!");
|
||||||
console.log(e.message);
|
console.log(e.message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -184,42 +187,45 @@ function uniqueArrayFromArray(input)
|
||||||
|
|
||||||
function processPotaSpots(buffer)
|
function processPotaSpots(buffer)
|
||||||
{
|
{
|
||||||
try
|
if (g_potaEnabled == 1)
|
||||||
{
|
{
|
||||||
let spots = JSON.parse(buffer);
|
try
|
||||||
g_pota.callSpots = {};
|
|
||||||
g_pota.parkSpots = {};
|
|
||||||
for (const spot in spots)
|
|
||||||
{
|
{
|
||||||
if (spots[spot].reference in g_pota.parks)
|
let spots = JSON.parse(buffer);
|
||||||
|
g_pota.callSpots = {};
|
||||||
|
g_pota.parkSpots = {};
|
||||||
|
for (const spot in spots)
|
||||||
{
|
{
|
||||||
spots[spot].spotTime = Date.parse(spots[spot].spotTime + "Z");
|
if (spots[spot].reference in g_pota.parks)
|
||||||
spots[spot].expire = (spots[spot].expire * 1000) + spots[spot].spotTime;
|
{
|
||||||
spots[spot].frequency = parseInt(spots[spot].frequency) / 1000;
|
spots[spot].spotTime = Date.parse(spots[spot].spotTime + "Z");
|
||||||
(g_pota.callSpots[spots[spot].activator] = g_pota.callSpots[spots[spot].activator] || []).push(spots[spot].reference);
|
spots[spot].expire = (spots[spot].expire * 1000) + spots[spot].spotTime;
|
||||||
(g_pota.parkSpots[spots[spot].reference] = g_pota.parkSpots[spots[spot].reference] || []).push(spots[spot]);
|
spots[spot].frequency = parseInt(spots[spot].frequency) / 1000;
|
||||||
|
(g_pota.callSpots[spots[spot].activator] = g_pota.callSpots[spots[spot].activator] || []).push(spots[spot].reference);
|
||||||
|
(g_pota.parkSpots[spots[spot].reference] = g_pota.parkSpots[spots[spot].reference] || []).push(spots[spot]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
console.log("PotaSpots: unknown park id: " + spots[spot].reference);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
// Sanity dedupe checks
|
||||||
|
for (const spot in g_pota.callSpots)
|
||||||
{
|
{
|
||||||
console.log("PotaSpots: unknown park id: " + spots[spot].reference);
|
g_pota.callSpots[spot] = uniqueArrayFromArray(g_pota.callSpots[spot]);
|
||||||
|
}
|
||||||
|
for (const spot in g_pota.parkSpots)
|
||||||
|
{
|
||||||
|
g_pota.parkSpots[spot] = uniqueArrayFromArray(g_pota.parkSpots[spot]);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Sanity dedupe checks
|
rebuildParks();
|
||||||
for (const spot in g_pota.callSpots)
|
|
||||||
{
|
|
||||||
g_pota.callSpots[spot] = uniqueArrayFromArray(g_pota.callSpots[spot]);
|
|
||||||
}
|
}
|
||||||
for (const spot in g_pota.parkSpots)
|
catch (e)
|
||||||
{
|
{
|
||||||
g_pota.parkSpots[spot] = uniqueArrayFromArray(g_pota.parkSpots[spot]);
|
// can't write, somethings broke
|
||||||
}
|
}
|
||||||
|
|
||||||
rebuildParks();
|
|
||||||
}
|
|
||||||
catch (e)
|
|
||||||
{
|
|
||||||
// can't write, somethings broke
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -247,52 +253,55 @@ function getPotaSpots()
|
||||||
|
|
||||||
function processPotaSchedule(buffer)
|
function processPotaSchedule(buffer)
|
||||||
{
|
{
|
||||||
try
|
if (g_potaEnabled == 1)
|
||||||
{
|
{
|
||||||
let schedules = JSON.parse(buffer);
|
try
|
||||||
g_pota.callSchedule = {};
|
|
||||||
g_pota.parkSchedule = {};
|
|
||||||
for (const i in schedules)
|
|
||||||
{
|
{
|
||||||
let newObj = {};
|
let schedules = JSON.parse(buffer);
|
||||||
newObj.id = schedules[i].reference;
|
g_pota.callSchedule = {};
|
||||||
newObj.start = Date.parse(schedules[i].startDate + "T" + schedules[i].startTime + "Z");
|
g_pota.parkSchedule = {};
|
||||||
newObj.end = Date.parse(schedules[i].endDate + "T" + schedules[i].endTime + "Z");
|
for (const i in schedules)
|
||||||
newObj.frequencies = schedules[i].frequencies;
|
|
||||||
newObj.comments = schedules[i].comments;
|
|
||||||
if (Date.now() < newObj.end)
|
|
||||||
{
|
{
|
||||||
if (newObj.id in g_pota.parks)
|
let newObj = {};
|
||||||
|
newObj.id = schedules[i].reference;
|
||||||
|
newObj.start = Date.parse(schedules[i].startDate + "T" + schedules[i].startTime + "Z");
|
||||||
|
newObj.end = Date.parse(schedules[i].endDate + "T" + schedules[i].endTime + "Z");
|
||||||
|
newObj.frequencies = schedules[i].frequencies;
|
||||||
|
newObj.comments = schedules[i].comments;
|
||||||
|
if (Date.now() < newObj.end)
|
||||||
{
|
{
|
||||||
(g_pota.callSchedule[schedules[i].activator] = g_pota.callSchedule[schedules[i].activator] || []).push(newObj);
|
if (newObj.id in g_pota.parks)
|
||||||
|
{
|
||||||
|
(g_pota.callSchedule[schedules[i].activator] = g_pota.callSchedule[schedules[i].activator] || []).push(newObj);
|
||||||
|
|
||||||
newObj = Object.assign({}, newObj);
|
newObj = Object.assign({}, newObj);
|
||||||
newObj.id = schedules[i].activator;
|
newObj.id = schedules[i].activator;
|
||||||
(g_pota.parkSchedule[schedules[i].reference] = g_pota.parkSchedule[schedules[i].reference] || []).push(newObj);
|
(g_pota.parkSchedule[schedules[i].reference] = g_pota.parkSchedule[schedules[i].reference] || []).push(newObj);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
console.log("PotaSchedule: unknown park id: " + newObj.id);
|
console.log("PotaSchedule: unknown park id: " + newObj.id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
// else it is expired and no longer relevant
|
||||||
}
|
}
|
||||||
// else it is expired and no longer relevant
|
|
||||||
}
|
|
||||||
|
|
||||||
// Sanity dedupe checks
|
// Sanity dedupe checks
|
||||||
for (const key in g_pota.callSchedule)
|
for (const key in g_pota.callSchedule)
|
||||||
{
|
{
|
||||||
g_pota.callSchedule[key] = uniqueArrayFromArray(g_pota.callSchedule[key]);
|
g_pota.callSchedule[key] = uniqueArrayFromArray(g_pota.callSchedule[key]);
|
||||||
}
|
}
|
||||||
for (const key in g_pota.parkSchedule)
|
for (const key in g_pota.parkSchedule)
|
||||||
{
|
{
|
||||||
g_pota.parkSchedule[key] = uniqueArrayFromArray(g_pota.parkSchedule[key]);
|
g_pota.parkSchedule[key] = uniqueArrayFromArray(g_pota.parkSchedule[key]);
|
||||||
}
|
}
|
||||||
|
|
||||||
rebuildParks();
|
rebuildParks();
|
||||||
}
|
}
|
||||||
catch (e)
|
catch (e)
|
||||||
{
|
{
|
||||||
// can't write, somethings broke
|
// can't write, somethings broke
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue