cartodb tools
npm install cartodb-tools --savesome tools for working with cartodb, for now works only with api keys.
API is shamelessly copied from KNEX as is much of the code, see the documentation over their for details, currently does not support table creation.
One difference is that geojson geometries are treated as such and converted to
geometries appropriate to the the_geom field in cartodb.
var cartodb = require('cartodb-tools')('username', 'api-key');
cartodb('myTable')
.select('foo')
.where('bar', 'baz')
.then(function (resp) {
//use resp
})
.catch(function (err) {
// something bad happened
});Write Stream
var cartodb = require('cartodb-tools')('username', 'api-key')
cartodb.createWriteStream('table_name', opts);
// available options are `create` to create a new tablethe query object has a few cartodb specific methods
batch
the batch method will use the carto batch api method for doing the query, since this will never return results don't use it for selects, though you can if you want it's just kinda pointless
cartodb('myTable')
.update({
foo: 'bar'
})
.where('bar', 'baz')
.batch()
.then(function (resp) {
//use resp
})you can also use the .onSuccess or .onError method to run those queries if the first one failed or succeeded
cartodb('myTable')
.update({
foo: 'bar'
})
.where('fake collumn', 'baz')
.batch()
.onSuccess(cartodb('errors_log').insert({
error_message: 'NONE!',
date: cartodb.raw('CURRENT_TIMESTAMP')
}))
.onError('INSERT INTO errors_log (job_id, error_message, date) VALUES (\'<%= job_id %>\', \'<%= error_message %>\', NOW())')
.then(function (resp) {
//use resp
})By default raw queries are wrapped in a transaction, use .noTransaction() to avoid this, useful for queries that can't be in transactions
cartodb.raw('VACUUM ANALYZE').noTransaction().batch().then(function () {
console.log('yay!');
}).catch(function () {
console.log('no!');
});
Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
