From 2bfd556c3c6d7c23cb9b4beccf0b49a801755873 Mon Sep 17 00:00:00 2001 From: HF Date: Fri, 29 Dec 2023 14:36:45 +0100 Subject: [PATCH] even more path.resolve --- src/core/Tile.js | 18 +++++++++++------- src/core/tileserver.js | 4 ++-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/core/Tile.js b/src/core/Tile.js index a16c742..3a6ba82 100644 --- a/src/core/Tile.js +++ b/src/core/Tile.js @@ -242,7 +242,9 @@ function addIndexedSubtiletoTile( */ function tileFileName(canvasTileFolder, cell) { const [z, x, y] = cell; - const filename = path.resolve(canvasTileFolder, z, x, `${y}.webp`); + const filename = path.resolve( + canvasTileFolder, String(z), String(x), `${y}.webp`, + ); try { const mtime = new Date(fs.statSync(filename).mtime).getTime(); if (Date.now() - mtime < 120000) { @@ -616,19 +618,21 @@ export async function initializeTiles( await createEmptyTile(canvasTileFolder, palette); // base zoomlevel let zoom = maxTiledZoom - 1; - let zoomDir = path.resolve(canvasTileFolder, zoom); + let zoomDir = path.resolve(canvasTileFolder, String(zoom)); console.log(`Tiling: Checking zoomlevel ${zoomDir}`); if (!fs.existsSync(zoomDir)) fs.mkdirSync(zoomDir); let cnt = 0; let cnts = 0; const maxBase = TILE_ZOOM_LEVEL ** zoom; for (let cx = 0; cx < maxBase; cx += 1) { - const tileDir = path.resolve(canvasTileFolder, zoom, cx); + const tileDir = path.resolve(canvasTileFolder, String(zoom), String(cx)); if (!fs.existsSync(tileDir)) { fs.mkdirSync(tileDir); } for (let cy = 0; cy < maxBase; cy += 1) { - const filename = path.resolve(canvasTileFolder, zoom, cx, `${cy}.webp`); + const filename = path.resolve( + canvasTileFolder, String(zoom), String(cx), `${cy}.webp`, + ); if (force || !fs.existsSync(filename)) { const ret = await createZoomTileFromChunk( canvasId, @@ -649,18 +653,18 @@ export async function initializeTiles( for (zoom = maxTiledZoom - 2; zoom >= 0; zoom -= 1) { cnt = 0; cnts = 0; - zoomDir = path.resolve(canvasTileFolder, zoom); + zoomDir = path.resolve(canvasTileFolder, String(zoom)); console.log(`Tiling: Checking zoomlevel ${zoomDir}`); if (!fs.existsSync(zoomDir)) fs.mkdirSync(zoomDir); const maxZ = TILE_ZOOM_LEVEL ** zoom; for (let cx = 0; cx < maxZ; cx += 1) { - const tileDir = path.resolve(canvasTileFolder, zoom, cx); + const tileDir = path.resolve(canvasTileFolder, String(zoom), String(cx)); if (!fs.existsSync(tileDir)) { fs.mkdirSync(tileDir); } for (let cy = 0; cy < maxZ; cy += 1) { const filename = path.resolve( - canvasTileFolder, zoom, cx, `${cy}.webp`, + canvasTileFolder, String(zoom), String(cx), `${cy}.webp`, ); if (force || !fs.existsSync(filename)) { const ret = await createZoomedTile( diff --git a/src/core/tileserver.js b/src/core/tileserver.js index 037d041..db2ce0b 100644 --- a/src/core/tileserver.js +++ b/src/core/tileserver.js @@ -61,7 +61,7 @@ class CanvasUpdater { this.TileLoadingQueues = []; this.id = id; this.canvas = canvases[id]; - this.canvasTileFolder = path.resolve(TILE_FOLDER, id); + this.canvasTileFolder = path.resolve(TILE_FOLDER, String(id)); this.firstZoomtileWidth = this.canvas.size / TILE_SIZE / TILE_ZOOM_LEVEL; this.maxTiledZoom = getMaxTiledZoom(this.canvas.size); } @@ -144,7 +144,7 @@ class CanvasUpdater { */ initialize() { logger.info(`Tiling: Using folder ${this.canvasTileFolder}`); - if (!fs.existsSync(`${this.canvasTileFolder}/0`)) { + if (!fs.existsSync(path.resolve(this.canvasTileFolder, '0'))) { if (!fs.existsSync(this.canvasTileFolder)) { fs.mkdirSync(this.canvasTileFolder); }