Change interface of reset_style to read full config from env files

Closes #62
It is highly recommended to invoke reset_styles after upgrade
This commit is contained in:
Sandro Santilli 2012-12-07 20:04:31 +01:00
parent b884fe00ea
commit a8a3e739ad

View File

@ -8,43 +8,45 @@ var mapnik = require('mapnik');
var redis = require('redis'); var redis = require('redis');
function usage(me, exitcode) { function usage(me, exitcode) {
console.log("Usage: " + me + " [--convert] [<target_mapnik_version>]"); console.log("Usage: " + me + " [--convert] <environment>");
process.exit(exitcode); process.exit(exitcode);
} }
var doConvert = false; var doConvert = false;
var MAPNIK_VERSION;
var node_path = process.argv.shift(); var node_path = process.argv.shift();
var script_path = process.argv.shift(); var script_path = process.argv.shift();
var me = path.basename(script_path); var me = path.basename(script_path);
var ENV;
var arg; var arg;
while ( arg = process.argv.shift() ) { while ( arg = process.argv.shift() ) {
if ( arg == '--convert' ) { if ( arg == '--convert' ) {
doConvert = true; doConvert = true;
} else if ( ! MAPNIK_VERSION ) { }
MAPNIK_VERSION = arg; else if ( ! ENV ) {
ENV = arg;
} }
else { else {
usage(me, 1); usage(me, 1);
} }
} }
if ( ! MAPNIK_VERSION ) { if ( ! ENV ) usage(me, 1);
MAPNIK_VERSION = mapnik.versions.mapnik;
} global.environment = require('../config/environments/' + ENV);
var serverOptions = require('../lib/cartodb/server_options'); // _after_ setting global.environment
var MAPNIK_VERSION = global.environment.mapnik_version || mapnik.versions.mapnik;
console.log( (doConvert ? "Converting" : "Resetting" ) + ' all styles to target ' + MAPNIK_VERSION); console.log( (doConvert ? "Converting" : "Resetting" ) + ' all styles to target ' + MAPNIK_VERSION);
var REDIS_PORT = 6379; // TODO: make a command line parameter
var dbnum = 0; var dbnum = 0;
var mml_store = new grainstore.MMLStore({port:REDIS_PORT}, {mapnik_version:MAPNIK_VERSION}); var mml_store = new grainstore.MMLStore(serverOptions.redis, serverOptions.grainstore);
var failures = []; var failures = [];
var client = redis.createClient(REDIS_PORT, 'localhost'); var client = redis.createClient(serverOptions.redis.port, serverOptions.redis.host);
client.on('connect', function() { client.on('connect', function() {
client.select(dbnum); client.select(dbnum);
client.keys('map_style|*', function(err, matches) { client.keys('map_style|*', function(err, matches) {