summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorprzemyslawpluta <przemekpluta@hotmail.com>2014-06-16 00:10:43 +0100
committerprzemyslawpluta <przemekpluta@hotmail.com>2014-06-16 00:10:43 +0100
commit1e4b910edd0c55f0332a9797c143dfa077aa31b4 (patch)
treea1d5c08bb3366df35cc730dbdd8d91885b2a57de /lib
parent25e77d7f8603a5d3841f6214c18bb86b914ca30e (diff)
downloadmongo-edu-1e4b910edd0c55f0332a9797c143dfa077aa31b4.zip
update
add ordered course list version bump
Diffstat (limited to 'lib')
-rw-r--r--lib/courseware.js3
-rw-r--r--lib/videos.js14
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});
}