From ffdd44752a5c5ba7e135d4c9c7e326a5292176e6 Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Tue, 2 Dec 2014 17:40:13 -0400 Subject: [PATCH] Integrate nicer progress bar for os:download --- lib/actions/os.coffee | 2 +- lib/resin/ui/patterns/patterns.coffee | 18 ++++++++++++++---- package.json | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/lib/actions/os.coffee b/lib/actions/os.coffee index 151a55ea..9051993d 100644 --- a/lib/actions/os.coffee +++ b/lib/actions/os.coffee @@ -39,4 +39,4 @@ exports.download = (id) -> ], (error) -> resin.errors.handle(error) if error? - console.log "\n\nFinished downloading #{outputFile}" + resin.log.info("\nFinished downloading #{outputFile}") diff --git a/lib/resin/ui/patterns/patterns.coffee b/lib/resin/ui/patterns/patterns.coffee index 0ccda495..d5eed490 100644 --- a/lib/resin/ui/patterns/patterns.coffee +++ b/lib/resin/ui/patterns/patterns.coffee @@ -1,8 +1,8 @@ async = require('async') -pace = require('pace') fs = require('fs') widgets = require('../widgets/widgets') server = require('../../server/server') +ProgressBar = require('progress') exports.remove = (name, confirmAttribute, deleteFunction, outerCallback) -> async.waterfall([ @@ -21,6 +21,8 @@ exports.remove = (name, confirmAttribute, deleteFunction, outerCallback) -> exports.downloadFile = (url, dest, callback) -> bar = null + received = 0 + server.request method: 'GET' url: url @@ -28,6 +30,14 @@ exports.downloadFile = (url, dest, callback) -> , (error) -> return callback(error) , (state) -> - return if not state? - bar ?= pace(state.total) - bar.op(state.received) + + bar ?= new ProgressBar 'Downloading device OS [:bar] :percent :etas', + complete: '=' + incomplete: ' ' + width: 40 + total: state.total + + return if bar.complete or not state? + + bar.tick(state.received - received) + received = state.received diff --git a/package.json b/package.json index 5d6702ed..4a20195c 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,6 @@ "pubnub": "~3.7.0", "request-progress": "~0.3.1", "progress-bar": "~0.1.1", - "pace": "0.0.4" + "progress": "~1.1.8" } }