walkingdead v0.0.7

A command-line utility for walking a list of urls with a list of user agents built with zombie.js
$ npm install -g walkingdead
$ walkingdead < urls.txtYou may also use the public API for building custom walkers.
API
WalkingDead
The class exposes just a few public API methods as well as a few events you may listen for. The class is derived from the EventEmitter
so you also have the same methods as the EventEmitter. Please see the EventEmitter API for more information.
WakingDead#()
var dead = require('walkingdead')();WakingDead#(options:Object)
var options = {agents:['walker/1.0']};
var dead = require('walkingdead')(otions);WalkingDead#walk(urlString)
This method will walk given the string url.
dead.walk('http://www.manta.com');WalkingDead#walk(url:String, cb:Function)
This method will walk the url. When the walk is complete the function cb will be invoked
with the url walked, the useragent ua used, the zombie instance, and the status of the call.
dead.walk('http://www.manta.com', function (url, ua, zombie, status) {
console.log('the %s was walked with the %s user agent and the status was %s', url, ua, status);
});WalkingDead#onUrl(url:String, cb:Function)
You may use th onUrl method as a handler for an EventEmitter. Here is an examle using the fs.createReadStream(path).
var fs = require('fs');
var split = require('split');
var path '/path/to/some/file/of/urls';
fs.createReadStream(path)
.pipe(split())
.on('data', dead.onUrl)
.on('error', next)Events
There are five main events. You may attach them as you would any other kind of EventEmitter instance.
walk
A walk event is trigger when there are urls to be walked. When the list of urls is empty a done event will be triggered.
dead.on('walk', function () {
conosle.log('the process started');
});walking
A walking event is triggered just before we walk a url with a the useragent ua.
dead.on('walking', function (url, ua) {
console.log('starting walking the %s with the %s user agent.', url, ua);
});walked
A walked event is triggered immediately after a url was walked with the user agent ua.
dead.on('walked', function (url, ua, zombie, status) {
console.log('the %s was walked with the %s user agent and the status was %s', url, ua, status);
});error
An error event is triggered whenever we encounter an error.
dead.on('error', function (err, url, ua, zombie, status) {
console.error(err);
});done
A done event is triggered when the list of urls is empty.
dead.on('done', function () {
console.log('need more urls to walk!');
});By calling walk() or receiving data with onUrl() the walk event will trigger and the process continues.
Installation and Environment Setup
Install node.js (See download and install instructions here: http://nodejs.org/).
Clone this repository
> git clone git@github.com:mantacode/walkingdead.gitcd into the directory and install the dependencies
> cd walkingdead
> npm install && npm shrinkwrap --devRunning Tests
Install coffee-script
> npm install coffee-script -gTests are run using grunt. You must first globally install the grunt-cli with npm.
> sudo npm install -g grunt-cliUnit Tests
To run the tests, just run grunt
> grunt spec