#!/usr/bin/env node var TransformOMatic = require('../lib/transform') , stdout = require('../lib/stdout') , fs = require('fs') , path = require('path') , util = require('../lib/util') ; var filepath = path.join(path.dirname(__dirname), 'doc', 'cli.md') , usage = fs.readFileSync(filepath, 'utf8') ; var argv = require('optimist') .options({ s: {alias: 'share', boolean: true, describe: 'Generate a URL to share this.'}, u: {alias: 'url', string: true, describe: 'URL of input data.'}, }) .usage(usage) .demand(1) .argv ; // cli mode var transformStr = argv._ .join(' ') .replace(/(^(\/|\s)+|(\/|\s)+$)/g, '') .split('/') .map(function(item) { return item.trim(' '); }) .join('/') ; if (argv.share) { var transformUrl = 'http://datapipes.okfnlabs.org/'; transformUrl += encodeURI(transformStr); transformUrl += '?url='; transformUrl += argv.url; var stars = Array(transformUrl.length+1).join('*'); console.log('URL to share:'); console.log(stars); console.log(transformUrl); console.log(stars); return; } var pipelineSpec = util.parseUrl(transformStr); var transformers = TransformOMatic.pipeline(pipelineSpec); TransformOMatic.transform(stdout(), transformers, argv.url);