diff options
| author | Arman <[email protected]> | 2018-08-02 16:50:59 -0700 |
|---|---|---|
| committer | Arman <[email protected]> | 2018-08-02 16:50:59 -0700 |
| commit | 7d5a0696ccc642db0d14aae8677ecada40bf85d1 (patch) | |
| tree | 1bbbcf2f4c4a3a733326ac2401375f8d891cb2f1 /node_modules/nugget | |
| parent | dialog box for adding items (diff) | |
| download | launcher-7d5a0696ccc642db0d14aae8677ecada40bf85d1.tar.xz launcher-7d5a0696ccc642db0d14aae8677ecada40bf85d1.zip | |
inital commit
Diffstat (limited to 'node_modules/nugget')
| -rw-r--r-- | node_modules/nugget/.npmignore | 2 | ||||
| -rw-r--r-- | node_modules/nugget/.travis.yml | 3 | ||||
| -rwxr-xr-x | node_modules/nugget/bin.js | 32 | ||||
| -rw-r--r-- | node_modules/nugget/collaborators.md | 9 | ||||
| -rw-r--r-- | node_modules/nugget/index.js | 203 | ||||
| -rw-r--r-- | node_modules/nugget/multiple.png | bin | 29002 -> 0 bytes | |||
| -rw-r--r-- | node_modules/nugget/package.json | 66 | ||||
| -rw-r--r-- | node_modules/nugget/readme.md | 58 | ||||
| -rw-r--r-- | node_modules/nugget/test/cli.js | 11 | ||||
| -rw-r--r-- | node_modules/nugget/test/resume.html | 1 | ||||
| -rw-r--r-- | node_modules/nugget/test/resume.js | 41 | ||||
| -rw-r--r-- | node_modules/nugget/test/test.js | 38 | ||||
| -rw-r--r-- | node_modules/nugget/usage.txt | 8 |
13 files changed, 0 insertions, 472 deletions
diff --git a/node_modules/nugget/.npmignore b/node_modules/nugget/.npmignore deleted file mode 100644 index 91dfed8..0000000 --- a/node_modules/nugget/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -.DS_Store -node_modules
\ No newline at end of file diff --git a/node_modules/nugget/.travis.yml b/node_modules/nugget/.travis.yml deleted file mode 100644 index 244b7e8..0000000 --- a/node_modules/nugget/.travis.yml +++ /dev/null @@ -1,3 +0,0 @@ -language: node_js -node_js: - - '0.10' diff --git a/node_modules/nugget/bin.js b/node_modules/nugget/bin.js deleted file mode 100755 index 3f9c1c2..0000000 --- a/node_modules/nugget/bin.js +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env node - -var fs = require('fs') -var path = require('path') -var nugget = require('./') -var args = require('minimist')(process.argv.slice(2)) - -var urls = args._ -if (urls.length === 0) { - console.log(fs.readFileSync(path.join(__dirname, 'usage.txt')).toString()) - process.exit(1) -} - -var opts = { - target: args.o || args.O || args.out, - dir: args.d || args.dir, - resume: args.c || args.continue, - force: args.f || args.force, - sockets: args.s || args.sockets, - quiet: args.q || args.quiet, - frequency: args.frequency ? +args.frequency : null, - proxy: args.proxy ? args.proxy : null, - strictSSL: args['strict-ssl'] -} - -nugget(urls, opts, function (err) { - if (err) { - console.error('Error:', err) - process.exit(1) - } - process.exit(0) -}) diff --git a/node_modules/nugget/collaborators.md b/node_modules/nugget/collaborators.md deleted file mode 100644 index 860d41f..0000000 --- a/node_modules/nugget/collaborators.md +++ /dev/null @@ -1,9 +0,0 @@ -## Collaborators - -nugget is only possible due to the excellent work of the following collaborators: - -<table><tbody><tr><th align="left">maxogden</th><td><a href="https://github.com/maxogden">GitHub/maxogden</a></td></tr> -<tr><th align="left">grncdr</th><td><a href="https://github.com/grncdr">GitHub/grncdr</a></td></tr> -<tr><th align="left">mafintosh</th><td><a href="https://github.com/mafintosh">GitHub/mafintosh</a></td></tr> -<tr><th align="left">jlord</th><td><a href="https://github.com/jlord">GitHub/jlord</a></td></tr> -</tbody></table> diff --git a/node_modules/nugget/index.js b/node_modules/nugget/index.js deleted file mode 100644 index b36918b..0000000 --- a/node_modules/nugget/index.js +++ /dev/null @@ -1,203 +0,0 @@ -var request = require('request') -var fs = require('fs') -var path = require('path') -var log = require('single-line-log').stdout -var progress = require('progress-stream') -var prettyBytes = require('pretty-bytes') -var throttle = require('throttleit') -var EventEmitter = require('events').EventEmitter -var debug = require('debug')('nugget') - -function noop () {} - -module.exports = function (urls, opts, cb) { - if (!Array.isArray(urls)) urls = [urls] - if (urls.length === 1) opts.singleTarget = true - - var defaultProps = {} - - if (opts.sockets) { - var sockets = +opts.sockets - defaultProps.pool = {maxSockets: sockets} - } - - if (opts.proxy) { - defaultProps.proxy = opts.proxy - } - - if (opts.strictSSL !== null) { - defaultProps.strictSSL = opts.strictSSL - } - - if (Object.keys(defaultProps).length > 0) { - request = request.defaults(defaultProps) - } - - var downloads = [] - var errors = [] - var pending = 0 - var truncated = urls.length * 2 >= (process.stdout.rows - 15) - - urls.forEach(function (url) { - debug('start dl', url) - pending++ - var dl = startDownload(url, opts, function done (err) { - debug('done dl', url, pending) - if (err) { - debug('error dl', url, err) - errors.push(err) - dl.error = err.message - } - if (truncated) { - var i = downloads.indexOf(dl) - downloads.splice(i, 1) - downloads.push(dl) - } - if (--pending === 0) { - render() - cb(errors.length ? errors : undefined) - } - }) - - downloads.push(dl) - - dl.on('start', function (progressStream) { - throttledRender() - }) - - dl.on('progress', function (data) { - debug('progress', url, data.percentage) - - dl.speed = data.speed - if (dl.percentage === 100) render() - else throttledRender() - }) - }) - - var _log = opts.quiet ? noop : log - render() - var throttledRender = throttle(render, opts.frequency || 250) - - if (opts.singleTarget) return downloads[0] - else return downloads - - function render () { - var height = process.stdout.rows - var rendered = 0 - var output = '' - var totalSpeed = 0 - downloads.forEach(function (dl) { - if (2 * rendered >= height - 15) return - rendered++ - if (dl.error) { - output += 'Downloading ' + path.basename(dl.target) + '\n' - output += 'Error: ' + dl.error + '\n' - return - } - var pct = dl.percentage - var speed = dl.speed - var total = dl.fileSize - totalSpeed += speed - var bar = Array(Math.floor(45 * pct / 100)).join('=') + '>' - while (bar.length < 45) bar += ' ' - output += 'Downloading ' + path.basename(dl.target) + '\n' + - '[' + bar + '] ' + pct.toFixed(1) + '%' - if (total) output += ' of ' + prettyBytes(total) - output += ' (' + prettyBytes(speed) + '/s)\n' - }) - if (rendered < downloads.length) output += '\n... and ' + (downloads.length - rendered) + ' more\n' - if (downloads.length > 1) output += '\nCombined Speed: ' + prettyBytes(totalSpeed) + '/s\n' - _log(output) - } - - function startDownload (url, opts, cb) { - var targetName = path.basename(url).split('?')[0] - if (opts.singleTarget && opts.target) targetName = opts.target - var target = path.resolve(opts.dir || process.cwd(), targetName) - if (opts.resume) { - resume(url, opts, cb) - } else { - download(url, opts, cb) - } - - var progressEmitter = new EventEmitter() - progressEmitter.target = target - progressEmitter.speed = 0 - progressEmitter.percentage = 0 - - return progressEmitter - - function resume (url, opts, cb) { - fs.stat(target, function (err, stats) { - if (err && err.code === 'ENOENT') { - return download(url, opts, cb) - } - if (err) { - return cb(err) - } - var offset = stats.size - var req = request.get(url) - - req.on('error', cb) - req.on('response', function (resp) { - resp.destroy() - - var length = parseInt(resp.headers['content-length'], 10) - - // file is already downloaded. - if (length === offset) return cb() - - if (!isNaN(length) && length > offset && /bytes/.test(resp.headers['accept-ranges'])) { - opts.range = [offset, length] - } - - download(url, opts, cb) - }) - }) - } - - function download (url, opts, cb) { - var headers = opts.headers || {} - if (opts.range) { - headers.Range = 'bytes=' + opts.range[0] + '-' + opts.range[1] - } - var read = request(url, { headers: headers }) - - read.on('error', cb) - read.on('response', function (resp) { - debug('response', url, resp.statusCode) - if (resp.statusCode > 299 && !opts.force) return cb(new Error('GET ' + url + ' returned ' + resp.statusCode)) - var write = fs.createWriteStream(target, {flags: opts.resume ? 'a' : 'w'}) - write.on('error', cb) - write.on('finish', cb) - - var fullLen - var contentLen = Number(resp.headers['content-length']) - var range = resp.headers['content-range'] - if (range) { - fullLen = Number(range.split('/')[1]) - } else { - fullLen = contentLen - } - - progressEmitter.fileSize = fullLen - if (range) { - var downloaded = fullLen - contentLen - } - var progressStream = progress({ length: fullLen, transferred: downloaded }, onprogress) - progressEmitter.emit('start', progressStream) - - resp - .pipe(progressStream) - .pipe(write) - }) - - function onprogress (p) { - var pct = p.percentage - progressEmitter.progress = p - progressEmitter.percentage = pct - progressEmitter.emit('progress', p) - } - } - } -} diff --git a/node_modules/nugget/multiple.png b/node_modules/nugget/multiple.png Binary files differdeleted file mode 100644 index 67b7fca..0000000 --- a/node_modules/nugget/multiple.png +++ /dev/null diff --git a/node_modules/nugget/package.json b/node_modules/nugget/package.json deleted file mode 100644 index 3c1a4cd..0000000 --- a/node_modules/nugget/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "_from": "nugget@^2.0.0", - "_id": "[email protected]", - "_inBundle": false, - "_integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", - "_location": "/nugget", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "nugget@^2.0.0", - "name": "nugget", - "escapedName": "nugget", - "rawSpec": "^2.0.0", - "saveSpec": null, - "fetchSpec": "^2.0.0" - }, - "_requiredBy": [ - "/electron-download" - ], - "_resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz", - "_shasum": "201095a487e1ad36081b3432fa3cada4f8d071b0", - "_spec": "nugget@^2.0.0", - "_where": "/Users/armanshah/Desktop/node-projects/shopping-list/node_modules/electron-download", - "author": { - "name": "max ogden" - }, - "bin": { - "nugget": "bin.js" - }, - "bugs": { - "url": "https://github.com/maxogden/nugget/issues" - }, - "bundleDependencies": false, - "dependencies": { - "debug": "^2.1.3", - "minimist": "^1.1.0", - "pretty-bytes": "^1.0.2", - "progress-stream": "^1.1.0", - "request": "^2.45.0", - "single-line-log": "^1.1.2", - "throttleit": "0.0.2" - }, - "deprecated": false, - "description": "minimalist wget clone written in node. HTTP GETs a file and saves it to the current working directory", - "devDependencies": { - "standard": "^6.0.5", - "tape": "^3.0.1", - "tape-spawn": "^1.4.2" - }, - "directories": { - "test": "test" - }, - "homepage": "https://github.com/maxogden/nugget", - "license": "BSD", - "main": "index.js", - "name": "nugget", - "repository": { - "type": "git", - "url": "git://github.com/maxogden/nugget.git" - }, - "scripts": { - "test": "standard && tape test/*.js" - }, - "version": "2.0.1" -} diff --git a/node_modules/nugget/readme.md b/node_modules/nugget/readme.md deleted file mode 100644 index 439975b..0000000 --- a/node_modules/nugget/readme.md +++ /dev/null @@ -1,58 +0,0 @@ -# nugget - -Minimalist command line downloader written in node, inspired by wget. HTTP GETs a file and streams it into a file in the current working directory. Specializes at downloading many files in parallel. - -[](https://nodei.co/npm/nugget/) - -[](https://travis-ci.org/maxogden/nugget) - -## installation - -``` -npm install nugget -g -``` - -## usage - -``` -Usage: nugget <urls> [options] - -o output filename - -d output parent directory - -c resume aborted download - -f ignore response codes > 299 - -s concurrent socket limit (default infinity) - -q disable logging -``` - -### examples - -``` -nugget http://foo.com/bar.jpg -# downloads bar.jpg and stores it in the current directory -``` - -or - -``` -nugget http://foo.com/bar.jpg -O baz.jpg -# saves it as baz.jpg. you can also do lowercase -o -``` - -if you get a statusCode of 300 or greater nugget will stop. you can force it to stream the response into a file anyway by doing `nugget http://404link.com/file.html -f` or `--force` works too - -you can also download multiple files, just pass multiple urls: - - - -## options - -The following options are recognized by nugget: - - * `-s|--sockets` - default Infinity. specify the number of http sockets to use at once (this controls concurrency) - * `-o|-O|--out` - specify the filename to write to. this only works if you are downloading a single file - * `-d|--dir` - save files in a directory other than the current one. - * `-c|--continue` - resume downloads if a partially complete target file already exists. If the target file exists and is the same size as the remote file, nothing will be done. - * `-f|--force` - force the server response to be saved to the target file, even if it's a non-successful status code. - * `-q|--quiet` - disable logging - * `--no-strict-ssl` - disable strict ssl - * `--proxy` - specify a proxy to use diff --git a/node_modules/nugget/test/cli.js b/node_modules/nugget/test/cli.js deleted file mode 100644 index 7d7313f..0000000 --- a/node_modules/nugget/test/cli.js +++ /dev/null @@ -1,11 +0,0 @@ -var fs = require('fs') -var path = require('path') -var spawn = require('tape-spawn') -var test = require('tape') - -test('usage', function (t) { - var child = spawn(t, path.join(__dirname, '..', 'bin.js')) - child.stdout.match(fs.readFileSync(path.join(__dirname, '..', 'usage.txt')).toString() + '\n') - child.stderr.empty() - child.end() -}) diff --git a/node_modules/nugget/test/resume.html b/node_modules/nugget/test/resume.html deleted file mode 100644 index b6fc4c6..0000000 --- a/node_modules/nugget/test/resume.html +++ /dev/null @@ -1 +0,0 @@ -hello
\ No newline at end of file diff --git a/node_modules/nugget/test/resume.js b/node_modules/nugget/test/resume.js deleted file mode 100644 index 291ce0e..0000000 --- a/node_modules/nugget/test/resume.js +++ /dev/null @@ -1,41 +0,0 @@ -var fs = require('fs') -var http = require('http') -var nugget = require('../') -var path = require('path') -var test = require('tape') - -var data = new Buffer('hello everybody I am the data') - -var testServer = http.createServer(function (req, res) { - if (!req.headers['range']) { - res.setHeader('content-length', data.length) - res.setHeader('accept-ranges', 'bytes') - res.end(data) - } else { - var range = req.headers['range'].split('=').pop().split('-').map(function (s) { - return parseInt(s, 10) - }) - res.setHeader('content-length', range[1] - range[0]) - res.setHeader('content-range', range[0] + '-' + range[1] + '/' + data.length) - res.end(data.slice(range[0], range[1])) - } -}) - -var target = path.join(__dirname, 'foobar.html') -if (fs.existsSync(target)) fs.unlinkSync(target) - -fs.writeFileSync(target, data.slice(0, 10)) - -testServer.listen(0, function () { - var port = this.address().port - test('fetches rest of file', function (t) { - nugget('http://localhost:' + port + '/foobar.html', {dir: __dirname, resume: true, quiet: true}, function (err) { - if (err) t.ifErr(err) - t.ok(fs.existsSync(target), 'downloaded file') - t.equal(fs.statSync(target).size, data.length, 'file is complete') - if (fs.existsSync(target)) fs.unlinkSync(target) - t.end() - testServer.close() - }) - }) -}) diff --git a/node_modules/nugget/test/test.js b/node_modules/nugget/test/test.js deleted file mode 100644 index 62ccb25..0000000 --- a/node_modules/nugget/test/test.js +++ /dev/null @@ -1,38 +0,0 @@ -var fs = require('fs') -var http = require('http') -var nugget = require('../') -var path = require('path') -var test = require('tape') - -var testServer = http.createServer(function (req, res) { - res.end('hello') -}) - -var target = path.join(__dirname, 'resume.html') -if (fs.existsSync(target)) fs.unlinkSync(target) - -testServer.listen(0, function () { - var port = this.address().port - test('fetches file', function (t) { - nugget('http://localhost:' + port + '/resume.html', {dir: __dirname, quiet: true}, function (err) { - if (err) t.ifErr(err) - t.ok(fs.existsSync(target), 'downloaded file') - if (fs.existsSync(target)) fs.unlinkSync(target) - t.end() - }) - }) - - test('has progress events', function (t) { - var gotProgress = false - var dl = nugget('http://localhost:' + port + '/resume.html', {dir: __dirname, quiet: true}, function (err) { - t.notOk(err, 'no error') - t.ok(gotProgress, 'got progress event') - t.end() - testServer.close() - }) - dl.once('progress', function (data) { - t.ok(data.hasOwnProperty('percentage'), 'has percentage') - gotProgress = true - }) - }) -}) diff --git a/node_modules/nugget/usage.txt b/node_modules/nugget/usage.txt deleted file mode 100644 index 90e2110..0000000 --- a/node_modules/nugget/usage.txt +++ /dev/null @@ -1,8 +0,0 @@ -Usage: nugget <urls> [options] - -o output filename - -d output parent directory - -c resume aborted download - -f ignore response codes > 299 - -s concurrent socket limit (default infinity) - -q disable logging - --stdin download all urls written to stdin (newline delimited)
\ No newline at end of file |