More sensible errors for non-existent mbtiles

This commit is contained in:
Petr Sloup 2016-08-19 08:25:12 +02:00
parent afda5d00bc
commit 845e31b3f2
2 changed files with 11 additions and 3 deletions

View file

@ -19,6 +19,10 @@ module.exports = function(options, repo, params, id) {
repo[id] = tileJSON;
var mbtilesFileStats = fs.statSync(mbtilesFile);
if (!mbtilesFileStats.isFile() || mbtilesFileStats.size == 0) {
throw Error('Not valid MBTiles file: ' + mbtilesFile);
}
var source = new mbtiles(mbtilesFile, function(err) {
source.getInfo(function(err, info) {
tileJSON['name'] = id;
@ -28,7 +32,7 @@ module.exports = function(options, repo, params, id) {
tileJSON['tilejson'] = '2.0.0';
tileJSON['basename'] = id;
tileJSON['filesize'] = fs.statSync(mbtilesFile)['size'];
tileJSON['filesize'] = mbtilesFileStats['size'];
delete tileJSON['scheme'];
Object.assign(tileJSON, params.tilejson || {});

View file

@ -173,8 +173,12 @@ module.exports = function(options, repo, params, id) {
queue.push(function(callback) {
var mbtilesFile = url.substring('mbtiles://'.length);
map.sources[name] = new mbtiles(
path.join(options.paths.mbtiles, mbtilesFile), function(err) {
mbtilesFile = path.join(options.paths.mbtiles, mbtilesFile);
var mbtilesFileStats = fs.statSync(mbtilesFile);
if (!mbtilesFileStats.isFile() || mbtilesFileStats.size == 0) {
throw Error('Not valid MBTiles file: ' + mbtilesFile);
}
map.sources[name] = new mbtiles(mbtilesFile, function(err) {
map.sources[name].getInfo(function(err, info) {
var type = source.type;
Object.assign(source, info);