Compare commits

...

2 Commits

Author SHA1 Message Date
Ivan Vazhenin
d2d2d38daf fix 2022-04-13 20:15:46 +03:00
Ivan Vazhenin
5d5be67efc fix 2022-04-12 19:50:29 +03:00

View File

@@ -121,13 +121,13 @@ function start(opts) {
success = serve_style.add(options, serving.styles, item, id, opts.publicUrl,
(mbtiles, fromData) => {
let dataItemId;
for (const id of Object.keys(data)) {
for (const id of Object.keys(serving.data)) {
if (fromData) {
if (id === mbtiles) {
dataItemId = id;
}
} else {
if (data[id].mbtiles === mbtiles) {
if (serving.data[id].mbtiles === mbtiles) {
dataItemId = id;
}
}
@@ -140,7 +140,7 @@ function start(opts) {
return undefined;
} else {
let id = mbtiles.substr(0, mbtiles.lastIndexOf('.')) || mbtiles;
while (data[id]) id += '_';
//while (data[id]) id += '_';
data[id] = {
'mbtiles': mbtiles
};
@@ -172,6 +172,11 @@ function start(opts) {
}
};
let addData = (id, item) => {
console.log(`Add data ${id}`);
Promise.all([serve_data.add(options, serving.data, item, id, opts.publicUrl)]);
};
for (const id of Object.keys(config.styles || {})) {
const item = config.styles[id];
if (!item.style || item.style.length === 0) {
@@ -201,6 +206,21 @@ function start(opts) {
}
if (options.serveAllStyles) {
fs.readdir(options.paths.mbtiles, {withFileTypes: true}, (err, files) => {
if (err) {
return;
}
for (const file of files) {
if (file.isFile() && path.extname(file.name).toLowerCase() == '.mbtiles') {
let id = path.basename(file.name, '.mbtiles');
let item = {
mbtiles: file.name
};
addData(id, item);
}
}
});
fs.readdir(options.paths.styles, {withFileTypes: true}, (err, files) => {
if (err) {
return;
@@ -212,7 +232,24 @@ function start(opts) {
let item = {
style: file.name
};
addStyle(id, item, false, false);
addStyle(id, item, true, true);
}
}
});
const watcherData = chokidar.watch(path.join(options.paths.mbtiles, '*.mbtiles'),
{
});
watcherData.on('all', (eventType, filename) => {
if (filename) {
let id = path.basename(filename, '.mbtiles');
console.log(`Data "${id}" added`);
if (eventType == "add") {
let item = {
mbtiles: filename
};
addData(id, item);
}
}
});
@@ -235,7 +272,7 @@ function start(opts) {
let item = {
style: filename
};
addStyle(id, item, false, false);
addStyle(id, item, true, true);
}
}
});