From 28dd461bae249a1654623692586d853b47b969dd Mon Sep 17 00:00:00 2001 From: Przemyslaw Pluta Date: Wed, 12 Feb 2014 18:36:33 +0000 Subject: [PATCH] Fix - Incorrect youtube video URL match possible long and short youtube urls throw only if none match --- lib/youtube-dl.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/youtube-dl.js b/lib/youtube-dl.js index ecb1f57..f0a3826 100644 --- a/lib/youtube-dl.js +++ b/lib/youtube-dl.js @@ -43,11 +43,19 @@ exports.download = function(urladdr, dest, args) { } args.push(urladdr); - // Get ID from urladdr. - var query = url.parse(urladdr, true).query; - var id = query.v || ''; - if (!id) { - throw new TypeError('Incorrect video URL'); + // soft check for youtube video + var isYouToube = urladdr.match(/(youtube|youtu.be)/), details, query, id; + + if (isYouToube) { + details = url.parse(urladdr, true); + query = details.query; + pathname = details.pathname.slice(1); + // Get possible IDs from urladdr. + id = query.v || pathname; + } + + if (!isYouToube || !id) { + throw new TypeError('Incorrect youtube video URL'); } var speed = [];