diff options
author | przemyslawpluta <przemekpluta@hotmail.com> | 2014-06-16 00:10:43 +0100 |
---|---|---|
committer | przemyslawpluta <przemekpluta@hotmail.com> | 2014-06-16 00:10:43 +0100 |
commit | 1e4b910edd0c55f0332a9797c143dfa077aa31b4 (patch) | |
tree | a1d5c08bb3366df35cc730dbdd8d91885b2a57de /lib | |
parent | 25e77d7f8603a5d3841f6214c18bb86b914ca30e (diff) | |
download | mongo-edu-1e4b910edd0c55f0332a9797c143dfa077aa31b4.zip |
update
add ordered course list
version bump
Diffstat (limited to 'lib')
-rw-r--r-- | lib/courseware.js | 3 | ||||
-rw-r--r-- | lib/videos.js | 14 |
2 files changed, 10 insertions, 7 deletions
diff --git a/lib/courseware.js b/lib/courseware.js index 08ad194..1a8c0fb 100644 --- a/lib/courseware.js +++ b/lib/courseware.js @@ -23,8 +23,7 @@ function saveData(argv, details, data, callback) { details = details.map(function items(item) { return item.replace(/[^a-z0-9]/gi, '_').replace(/(_){2,}/g, '_'); }); - - fs.writeFile(argv.d + details[0] + '-' + details[1] + '.txt', data.join((!isWin) ? '\n' : '\r\n'), function (err) { + fs.writeFile(argv.d + details[0] + '-' + details[1] + '.txt', data.join((!isWin) ? '\n' : '\r\n'), function write(err) { if (err !== null) { return console.log(err.stack); } console.log('[' + '>'.magenta + '] Video list generated with ' + data.length + ' item' + ((data.length > 1)? 's.' : '.')); diff --git a/lib/videos.js b/lib/videos.js index 48327ac..f64d330 100644 --- a/lib/videos.js +++ b/lib/videos.js @@ -18,7 +18,7 @@ var path = require('path'), execFile = require('child_process').execFile, _ = require('lodash'); -var downloadPath = '', ncc = false, handout = false, cc = false, uz = false, hq = false; +var downloadPath = '', downloadList = [], ncc = false, handout = false, cc = false, uz = false, hq = false, isWin = /^win/.test(process.platform); var setOptions = function setOptions(argv) { @@ -124,6 +124,7 @@ var handleList = function handleList(list) { var dl = youtubedl.download(item, downloadPath, opt), bar; dl.on('download', function download(data) { + downloadList.push(path.basename(data.filename)); console.log('[' + 'i'.magenta + '] Downloading: ' + data.filename.cyan + ' > ' + item); bar = new ProgressBar('[' + '>'.green + '] ' + data.size + ' [:bar] :percent :etas', { complete: '=', incomplete: ' ', width: 20, total: 100.0 }); }); @@ -143,7 +144,6 @@ var handleList = function handleList(list) { console.log('[' + '>'.magenta + '] ' + data.filename + '.' + left); } else { console.log('[' + 'i'.green + '] Done in ' + data.timeTakenms + 'ms.' + left); - } } else { console.log('[' + 'i'.red + '] Download Issues'); @@ -153,7 +153,11 @@ var handleList = function handleList(list) { }; if (currentList.length) { return getVideos(currentList.shift()); } - console.log('[ Finished ]'.green); + + fs.writeFile(downloadPath + 'Course_Order.txt', downloadList.join((!isWin) ? '\n' : '\r\n'), function write(err) { + if (err !== null) { console.log(err.stack); } + console.log('[ Finished ]'.green); + }); }; @@ -260,11 +264,11 @@ module.exports = { if (stderr) { return callback(new Error(stderr.slice(7))); } var data = stdout.trim().split(/\r?\n/); - var out = [], total = data.length, count = 0; + var out = [], total = data.length, count = 0, i; if (data.length) { - for (var i = 0; i < total / 2; i++) { + for (i = 0; i < total / 2; i++) { count = count + 1; out.push({ name: data.shift(), value: 'https://www.youtube.com/watch?v=' + data.shift(), id: count}); } |