Add test for generating the cache

This commit is contained in:
Pieter Vander Vennet 2022-02-14 01:15:20 +01:00
parent 4ad4db3bbd
commit 312dbe7aff
7 changed files with 70 additions and 13 deletions

View file

@ -7,7 +7,6 @@ import {LayerConfigJson} from "../Models/ThemeConfig/Json/LayerConfigJson";
import xml2js from 'xml2js';
export default class ScriptUtils {
public static fixUtils() {
Utils.externalDownloadFunction = ScriptUtils.DownloadJSON
}
@ -46,7 +45,7 @@ export default class ScriptUtils {
})
}
public static DownloadJSON(url, headers?: any): Promise<any> {
private static DownloadJSON(url, headers?: any): Promise<any> {
return new Promise((resolve, reject) => {
try {
headers = headers ?? {}

View file

@ -103,7 +103,7 @@ async function downloadRaw(targetdir: string, r: TileRange, theme: LayoutConfig,
try {
const json = await ScriptUtils.DownloadJSON(url)
const json = await Utils.downloadJson(url)
if ((<string>json.remark ?? "").startsWith("runtime error")) {
console.error("Got a runtime error: ", json.remark)
failed++;
@ -142,7 +142,7 @@ async function downloadExtraData(theme: LayoutConfig)/* : any[] */ {
continue;
}
console.log("Downloading extra data: ", source)
await ScriptUtils.DownloadJSON(source).then(json => allFeatures.push(...json.features))
await Utils.downloadJson(source).then(json => allFeatures.push(...json.features))
}
return allFeatures;
}
@ -355,7 +355,7 @@ function sliceToTiles(allFeatures: FeatureSource, theme: LayoutConfig, relations
}
async function main(args: string[]) {
export async function main(args: string[]) {
console.log("Cache builder started with args ", args.join(", "))
if (args.length < 6) {
@ -389,7 +389,7 @@ async function main(args: string[]) {
}
if (isNaN(lon1)) {
throw "The first number (a longitude) is not a valid number"
throw "The fourth number (a longitude) is not a valid number"
}

View file

@ -5,7 +5,7 @@ import {Utils} from "../../Utils";
async function main(args: string[]) {
ScriptUtils.fixUtils()
const pointCandidates = JSON.parse(readFileSync(args[0], "utf8"))
const postcodes = JSON.parse(readFileSync(args[1], "utf8"))
const output = args[2] ?? "centralCoordinates.csv"
@ -61,7 +61,7 @@ async function main(args: string[]) {
const depPoints: [number, number][] = Utils.NoNull(await Promise.all(candidates.map(async candidate => {
try {
const result = await ScriptUtils.DownloadJSON(url + "&loc=" + candidate.join("%2C") + "&loc=3.22000%2C51.21577&profile=car.short")
const result = await Utils.downloadJson(url + "&loc=" + candidate.join("%2C") + "&loc=3.22000%2C51.21577&profile=car.short")
const depPoint = result.features.filter(f => f.geometry.type === "LineString")[0].geometry.coordinates[0]
return <[number, number]>[depPoint[0], depPoint[1]] // Drop elevation
} catch (e) {