Example #1
0
File: ui.js Project: mafintosh/hms
exports.spin = function () {
  var message = Array.prototype.join.call(arguments, ' ')
  var states = [chalk.cyan(' .   '), chalk.cyan(' ..  '), chalk.cyan(' ... '), chalk.cyan('     ')]

  if (!TTY) {
    console.log(PROGRESS + ' ' + message)
    return function (err) {
      if (!err) return console.log(SUCCESS + ' ' + message)
      console.log(ERROR + ' ' + message + ' (' + (err.message || err) + ')')
      process.exit(1)
    }
  }

  var id = setInterval(function () {
    log(PROGRESS + ' ' + message + states[0])
    states.push(states.shift())
  }, 500)

  log.clear()
  log(PROGRESS + ' ' + message + '     ')

  return function (err) {
    clearInterval(id)
    if (err) {
      log(ERROR + ' ' + message + ' (' + (err.message || err) + ')')
      process.exit(1)
    }
    log(SUCCESS + ' ' + message)
    log.clear()
  }
}
Example #2
0
	engine.on('mount', function(mnt) {
		log('Mounted '+engine.files.length+' files, '+prettysize(engine.torrent.length)+' in '+ engine.torrent.name);
		log.clear();

		var notChoked = function(result, wire) {
			return result + (wire.peerChoking ? 0 : 1);
		};

		var status = function() {
			var down = prettysize(engine.swarm.downloaded);
			var speed = prettysize(engine.swarm.downloadSpeed())+'/s';
			log('Downloaded '+down+' ('+speed+') from '+engine.swarm.wires.reduce(notChoked, 0)+'/'+engine.swarm.wires.length+' peers\n');
		};

		setInterval(status, 500);
		status();

		var onclose = function() {
			engine.destroy(function() {
				umount(mnt)
				setTimeout(function() {
					rimraf.sync(mnt);
					process.exit();
				}, 250);
			});
		};

		process.on('SIGINT', onclose);
		process.on('SIGTERM', onclose);
	});
Example #3
0
File: ui.js Project: mafintosh/hms
 return function (err) {
   clearInterval(id)
   if (err) {
     log(ERROR + ' ' + message + ' (' + (err.message || err) + ')')
     process.exit(1)
   }
   log(SUCCESS + ' ' + message)
   log.clear()
 }
Example #4
0
 eos(prog, function(err) {
   draw()
   clearInterval(interval)
   if (err) clearLog.clear()
   else if (end) console.log(end)
 })