From c0739bfa0c3c67f635b5fbe9c84275291a465051 Mon Sep 17 00:00:00 2001 From: Young Hahn Date: Wed, 25 Jan 2012 00:09:03 -0500 Subject: [PATCH] Allow tilelive to pass in tile id. Prepares for delegation of dupe/id detection entirely to tilelive. --- lib/mbtiles.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/mbtiles.js b/lib/mbtiles.js index 0902cf0..b93ff8e 100644 --- a/lib/mbtiles.js +++ b/lib/mbtiles.js @@ -529,7 +529,11 @@ MBTiles.prototype.putTile = function(z, x, y, data, callback) { // Flip Y coordinate because MBTiles files are TMS. y = (1 << z) - 1 - y; - var id = crypto.createHash('md5').update(data).digest('hex'); + // Allow tilelive to pass us a data.id. If not, generate an md5 + // from the image buffer data. + // @TODO refactor this such that it is entirely tilelive's responsibility + // to assign an ID to tiles and identify blanks. We're halfway there. + var id = data.id || crypto.createHash('md5').update(data).digest('hex'); if (!this._tileCache[id]) { // This corresponds to the images table. this._tileCache[id] = data;