Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bin/cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var mkdirp = require('mkdirp')

var args = require('minimist')(process.argv.splice(2), {
alias: {p: 'port', q: 'quiet', v: 'version'},
boolean: ['snapshot', 'exit', 'list', 'quiet', 'version'],
boolean: ['snapshot', 'exit', 'list', 'quiet', 'version', 'utp'],
default: {
logspeed: 200
}
Expand Down
2 changes: 2 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
*Note: unreleased changes are added here.*
### Added
* Print message when download finishes telling user they can exit.
* Add option for turning off UTP
* Use dat-js module (includes using hyperdrive-import-files for appending)

## 11.1.2 - 2016-07-18
### Fixed
Expand Down
28 changes: 20 additions & 8 deletions commands/download.js
Original file line number Diff line number Diff line change
@@ -1,46 +1,64 @@
var chalk = require('chalk')
var prettyBytes = require('pretty-bytes')
var Dat = require('../lib/dat')
var Dat = require('dat-js')
var logger = require('status-logger')
var speedometer = require('speedometer')
var ui = require('../lib/ui')

module.exports = function (args) {
if (args && args.exit) args.upload = false
var dat = Dat(args)
var log = logger(args)

var downloadTxt = 'Downloading '
var finished = false

dat.stats.rateUp = speedometer()
dat.stats.rateDown = speedometer()

log.status('Starting Dat...\n', 0)
log.status('Connecting...', 1)

dat.on('error', onerror)

dat.once('ready', function () {
dat.open(function () {
log.message('Downloading in ' + dat.dir + '\n')
dat.download(function (err) {
if (err) onerror(err)
})

setInterval(function () {
printSwarm()
log.print()
}, args.logspeed)
log.print()
})

dat.once('key', function (key) {
log.message(ui.keyMsg(key))
if (args.quiet) console.log(ui.keyMsg(key))
})

dat.on('upload', function (data) {
dat.stats.rateUp(data.length)
})

dat.on('download', function (data) {
downloadTxt = 'Downloading '
if (!finished) dat.stats.rateDown(data.length)
updateStats()
})

dat.on('archive-updated', function () {
finished = false
dat.stats.rateDown = speedometer()
updateStats()
})
dat.on('file-downloaded', updateStats)

dat.on('download-finished', function () {
finished = true
dat.stats.rateDown = 0
updateStats()
if (args.exit) {
log.status('', 1)
Expand All @@ -51,12 +69,6 @@ module.exports = function (args) {

dat.on('swarm-update', printSwarm)

setInterval(function () {
printSwarm()
log.print()
}, args.logspeed)
log.print()

function printSwarm () {
log.status(ui.swarmMsg(dat), 1)
}
Expand Down
2 changes: 1 addition & 1 deletion commands/list.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var Dat = require('../lib/dat')
var Dat = require('dat-js')

module.exports = function (args) {
var dat = Dat(args)
Expand Down
39 changes: 24 additions & 15 deletions commands/share.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
var chalk = require('chalk')
var prettyBytes = require('pretty-bytes')
var Dat = require('../lib/dat')
var Dat = require('dat-js')
var logger = require('status-logger')
var speedometer = require('speedometer')
var ui = require('../lib/ui')

module.exports = function (args) {
Expand All @@ -12,23 +13,35 @@ module.exports = function (args) {
var updated = false
var initFileCount = 0

dat.stats.rateUp = speedometer()

log.status('Starting Dat...\n', 0)
if (args.snapshot) log.status('Creating Link...', 1)
else log.status('Connecting...', 1)

dat.on('error', onerror)

dat.once('ready', function () {
dat.open(function () {
log.message('Sharing ' + dat.dir + '\n')
dat.share(function (err) {
if (err) onerror(err)
})

setInterval(function () {
printSwarm()
log.print()
}, args.logspeed)
log.print()
})

dat.on('upload', function (data) {
dat.stats.rateUp(data.length)
})

dat.on('file-counted', function () {
dat.on('file-counted', function (stats) {
var msg = 'Calculating Size: '
msg += dat.stats.filesTotal + ' items '
msg += chalk.dim('(' + prettyBytes(dat.stats.bytesTotal) + ')')
msg += stats.filesTotal + ' items '
msg += chalk.dim('(' + prettyBytes(stats.bytesTotal) + ')')
log.status(msg + '\n', 0)
})

Expand All @@ -37,10 +50,12 @@ module.exports = function (args) {
if (args.quiet) console.log(ui.keyMsg(key))
})

dat.on('file-added', updateStats)
dat.on('file-exists', updateStats)

dat.once('append-ready', updateStats)
dat.once('files-counted', function (stats) {
// async file counting + appending
// wait until all counting is done to print append status
dat.on('file-added', updateStats)
dat.on('file-exists', updateStats)
})

dat.once('archive-finalized', function () {
addText = 'Added '
Expand All @@ -56,12 +71,6 @@ module.exports = function (args) {

dat.on('swarm-update', printSwarm)

setInterval(function () {
printSwarm()
log.print()
}, args.logspeed)
log.print()

function printSwarm () {
log.status(ui.swarmMsg(dat), 1)
}
Expand Down
62 changes: 0 additions & 62 deletions lib/append.js

This file was deleted.

Loading