Skip to content
This repository has been archived by the owner on Dec 3, 2023. It is now read-only.

Commit

Permalink
Fix "Cannot call method 'split' of undefined" bug with last version o…
Browse files Browse the repository at this point in the history
…f youtube-dl (2014.04.21.6)
  • Loading branch information
jaysalvat committed Apr 24, 2014
1 parent 7a2620d commit 864a526
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 20 deletions.
Binary file modified bin/youtube-dl
Binary file not shown.
77 changes: 57 additions & 20 deletions lib/youtube-dl.js
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,49 @@ function filterData(data) {
* @param {Array.<String>} options
* @param {Function(!Error, Object)} callback
*/
// ytdl.getInfo = function(url, options, callback) {
// if (typeof options === 'function') {
// callback = options;
// options = [];
// }
// var args = [
// '--get-id',
// '--get-url',
// '--get-title',
// '--get-thumbnail',
// '--get-filename',
// '--get-format',
// '--get-description'
// ];

// call(url, args, options, function(err, data) {
// if (err) return callback(err);

// var playlist = [];

// var divideData = function divideData(data) {

// var arr = [];

// for (var i = 0; i < args.length; i++) {
// arr.push(data.shift());
// }

// playlist.push(filterData(arr));

// if (data.length) { divideData(data); }

// };

// if (data.length === args.length) { return callback(null, filterData(data)); }

// divideData(data);

// return callback(null, playlist);

// });
// };

ytdl.getInfo = function(url, options, callback) {
if (typeof options === 'function') {
callback = options;
Expand All @@ -161,32 +204,26 @@ ytdl.getInfo = function(url, options, callback) {
call(url, args, options, function(err, data) {
if (err) return callback(err);

var playlist = [];

var divideData = function divideData(data) {

var arr = [];
var playlist = [],
track = [];

data.forEach(function(row) {
track.push(row);

for (var i = 0; i < args.length; i++) {
arr.push(data.shift());
if (row.match(/([0-9]+ - [0-9]+x[0-9]+)/g)) {
playlist.push(filterData(track));
track = [];
}
});

playlist.push(filterData(arr));

if (data.length) { divideData(data); }

};

if (data.length === args.length) { return callback(null, filterData(data)); }

divideData(data);

return callback(null, playlist);

if (playlist.length === 1) {
return callback(null, playlist[0]);
} else {
return callback(null, playlist);
}
});
};


var formatsRegex = /^(\d+)\s+([a-z0-9]+)\s+(\d+x\d+|d+p|audio only)/;

/**
Expand Down

0 comments on commit 864a526

Please sign in to comment.