Update the rest of the libraries for bluebird
This commit is contained in:
parent
90c1385fb3
commit
17de5e9b92
8 changed files with 591 additions and 144 deletions
|
@ -1,7 +1,8 @@
|
|||
"use strict";
|
||||
var parse = require('url').parse;
|
||||
var Promise = require('bluebird');
|
||||
var request = require('superagent');
|
||||
var Q = require('q');
|
||||
require('superagent-bluebird-promise');
|
||||
|
||||
module.exports.id = "deezer";
|
||||
|
||||
|
@ -9,35 +10,31 @@ var apiRoot = "https://api.deezer.com";
|
|||
|
||||
module.exports.match = require('./url').match;
|
||||
|
||||
module.exports.parseUrl = function(url, next) {
|
||||
var deferred = Q.defer();
|
||||
module.exports.parseUrl = function(url) {
|
||||
var matches = parse(url).path.match(/\/(album|track)[\/]+([^\/]+)/);
|
||||
|
||||
if (matches && matches[2]) {
|
||||
module.exports.lookupId(matches[2], matches[1]).then(deferred.resolve);
|
||||
return module.exports.lookupId(matches[2], matches[1]);
|
||||
} else {
|
||||
deferred.reject();
|
||||
throw new Error();
|
||||
}
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
module.exports.lookupId = function(id, type) {
|
||||
var deferred = Q.defer();
|
||||
var path = "/" + type + "/" + id;
|
||||
|
||||
request.get(apiRoot + path, function(res) {
|
||||
return request.get(apiRoot + path).promise().then(function(res) {
|
||||
var result = res.body;
|
||||
if (res.body.error) {
|
||||
var error = new Error("Not Found");
|
||||
error.status = 404;
|
||||
deferred.reject(error);
|
||||
return;
|
||||
throw error;
|
||||
}
|
||||
var cover = result.cover || result.album.cover;
|
||||
request.get(cover).redirects(0).end(function(res) {
|
||||
return request.get(cover).redirects(0).promise().then(function(res) {
|
||||
var artwork = res.headers.location.replace("120x120", "200x200");
|
||||
if (type == "album") {
|
||||
deferred.resolve({
|
||||
return {
|
||||
service: "deezer",
|
||||
type: type,
|
||||
id: result.id,
|
||||
|
@ -48,9 +45,9 @@ module.exports.lookupId = function(id, type) {
|
|||
artist: {
|
||||
name: result.artist.name
|
||||
},
|
||||
});
|
||||
};
|
||||
} else if (type == "track") {
|
||||
deferred.resolve({
|
||||
return {
|
||||
service: "deezer",
|
||||
type: type,
|
||||
id: result.id,
|
||||
|
@ -64,15 +61,15 @@ module.exports.lookupId = function(id, type) {
|
|||
album: {
|
||||
name: result.album.title
|
||||
}
|
||||
});
|
||||
};
|
||||
};
|
||||
} else {
|
||||
throw new Error();
|
||||
}
|
||||
});
|
||||
});
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
module.exports.search = function(data, next) {
|
||||
var deferred = Q.defer();
|
||||
module.exports.search = function(data) {
|
||||
var query, album;
|
||||
var type = data.type;
|
||||
|
||||
|
@ -85,7 +82,7 @@ module.exports.search = function(data, next) {
|
|||
}
|
||||
|
||||
var path = "/search/" + type + "?q=" + encodeURIComponent(query);
|
||||
request.get(apiRoot + path, function(res) {
|
||||
return request.get(apiRoot + path).promise().then(function(res) {
|
||||
if (!res.body.data[0]) {
|
||||
var matches = album.match(/^[^\(\[]+/);
|
||||
if (matches[0] && matches[0] != album) {
|
||||
|
@ -95,13 +92,12 @@ module.exports.search = function(data, next) {
|
|||
} else if (type == "track") {
|
||||
cleanedData.album.name = matches[0].trim();
|
||||
}
|
||||
module.exports.search(cleanedData).then(deferred.resolve);
|
||||
return module.exports.search(cleanedData);
|
||||
} else {
|
||||
deferred.resolve({service: "deezer"});
|
||||
return {service: "deezer"};
|
||||
}
|
||||
} else {
|
||||
module.exports.lookupId(res.body.data[0].id, type).then(deferred.resolve);
|
||||
return module.exports.lookupId(res.body.data[0].id, type);
|
||||
}
|
||||
});
|
||||
return deferred.promise;
|
||||
};
|
||||
|
|
|
@ -1,27 +1,22 @@
|
|||
"use strict";
|
||||
var parse = require("url").parse;
|
||||
var PlayMusic = require('playmusic');
|
||||
var pm = new PlayMusic();
|
||||
var Q = require('q');
|
||||
var Promise = require('bluebird');
|
||||
var PlayMusic = require('../../playmusic');
|
||||
var pm = Promise.promisifyAll(new PlayMusic());
|
||||
|
||||
module.exports.id = "google";
|
||||
|
||||
if (!process.env.GOOGLE_EMAIL || !process.env.GOOGLE_PASSWORD) {
|
||||
console.warn("GOOGLE_EMAIL or GOOGLE_PASSWORD environment variables not found, deactivating Rdio.");
|
||||
console.warn("GOOGLE_EMAIL or GOOGLE_PASSWORD environment variables not found, deactivating Google Play Music.");
|
||||
return;
|
||||
}
|
||||
|
||||
var ready = Q.defer();
|
||||
|
||||
pm.init({email: process.env.GOOGLE_EMAIL, password: process.env.GOOGLE_PASSWORD}, function() {
|
||||
ready.resolve();
|
||||
});
|
||||
var ready = pm.initAsync({email: process.env.GOOGLE_EMAIL, password: process.env.GOOGLE_PASSWORD});
|
||||
|
||||
module.exports.match = require('./url').match;
|
||||
|
||||
module.exports.parseUrl = function(url) {
|
||||
var deferred = Q.defer();
|
||||
ready.promise.then(function() {
|
||||
return ready.then(function() {
|
||||
var parsed = parse(url.replace(/\+/g, "%20"));
|
||||
var path = parsed.path;
|
||||
var hash = parsed.hash;
|
||||
|
@ -33,25 +28,23 @@ module.exports.parseUrl = function(url) {
|
|||
var album = decodeURIComponent(parts[4]);
|
||||
|
||||
if (id.length > 0) {
|
||||
deferred.resolve({id: id, type: type});
|
||||
return {id: id, type: type};
|
||||
} else {
|
||||
module.exports.search({type: type, name:album, artist: {name: artist}}).then(deferred.resolve);
|
||||
return module.exports.search({type: type, name:album, artist: {name: artist}});
|
||||
}
|
||||
} else if(path) {
|
||||
var matches = path.match(/\/music\/m\/([\w]+)/);
|
||||
var type = matches[1][0] == "T" ? "track" : "album";
|
||||
module.exports.lookupId(matches[1], type).then(deferred.resolve);
|
||||
return module.exports.lookupId(matches[1], type);
|
||||
}
|
||||
});
|
||||
return deferred.promise;
|
||||
})
|
||||
}
|
||||
|
||||
module.exports.lookupId = function(id, type, next) {
|
||||
var deferred = Q.defer();
|
||||
ready.promise.then(function() {
|
||||
module.exports.lookupId = function(id, type) {
|
||||
return ready.then(function() {
|
||||
if (type == "album") {
|
||||
pm.getAlbum(id, false, function(album) {
|
||||
deferred.resolve({
|
||||
return pm.getAlbumAsync(id, false).then(function(album) {
|
||||
return {
|
||||
service: "google",
|
||||
type: "album",
|
||||
id: album.albumId,
|
||||
|
@ -62,13 +55,13 @@ module.exports.lookupId = function(id, type, next) {
|
|||
artist: {
|
||||
name: album.artist
|
||||
}
|
||||
});
|
||||
};
|
||||
}, function(error) {
|
||||
deferred.reject(error);
|
||||
throw error;
|
||||
});
|
||||
} else if (type == "track") {
|
||||
pm.getAllAccessTrack(id, function(track) {
|
||||
deferred.resolve({
|
||||
return pm.getTrackAsync(id).then(function(track) {
|
||||
return {
|
||||
service: "google",
|
||||
type: "track",
|
||||
id: track.nid,
|
||||
|
@ -82,18 +75,16 @@ module.exports.lookupId = function(id, type, next) {
|
|||
artist: {
|
||||
name: track.artist
|
||||
}
|
||||
});
|
||||
};
|
||||
}, function(error) {
|
||||
deferred.reject(error);
|
||||
throw error;
|
||||
});
|
||||
}
|
||||
});
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
module.exports.search = function(data) {
|
||||
var deferred = Q.defer();
|
||||
ready.promise.then(function() {
|
||||
return ready.then(function() {
|
||||
var query, album;
|
||||
var type = data.type;
|
||||
|
||||
|
@ -105,7 +96,7 @@ module.exports.search = function(data) {
|
|||
album = data.album.name;
|
||||
}
|
||||
|
||||
pm.search(query, 5, function(result) {
|
||||
return pm.searchAsync(query, 5).then(function(result) {
|
||||
if (!result.entries) {
|
||||
var matches = album.match(/^[^\(\[]+/);
|
||||
if (matches[0] && matches[0] != album) {
|
||||
|
@ -115,11 +106,10 @@ module.exports.search = function(data) {
|
|||
} else if (type == "track") {
|
||||
cleanedData.album.name = matches[0].trim();
|
||||
}
|
||||
module.exports.search(cleanedData).then(deferred.resolve);
|
||||
return module.exports.search(cleanedData);
|
||||
} else {
|
||||
deferred.resolve({service: "googleplaymusic"});
|
||||
return {service: "googleplaymusic"};
|
||||
}
|
||||
return;
|
||||
}
|
||||
var result = result.entries.filter(function(result) {
|
||||
return result[type];
|
||||
|
@ -128,7 +118,7 @@ module.exports.search = function(data) {
|
|||
}).shift();
|
||||
|
||||
if (!result) {
|
||||
deferred.resolve({service: "google"});
|
||||
return {service: "google"};
|
||||
} else {
|
||||
var id;
|
||||
if (type == "album") {
|
||||
|
@ -137,9 +127,8 @@ module.exports.search = function(data) {
|
|||
id = result.track.nid;
|
||||
}
|
||||
|
||||
module.exports.lookupId(id, type).then(deferred.resolve);
|
||||
return module.exports.lookupId(id, type);
|
||||
}
|
||||
});
|
||||
});
|
||||
return deferred.promise;
|
||||
}
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
"use strict";
|
||||
var parse = require('url').parse;
|
||||
var parse = require("url").parse;
|
||||
var Promise = require('bluebird');
|
||||
var querystring = require('querystring');
|
||||
var request = require('superagent');
|
||||
var Q = require('q');
|
||||
require('superagent-bluebird-promise');
|
||||
|
||||
module.exports.id = "itunes";
|
||||
|
||||
|
@ -11,7 +12,6 @@ var apiRoot = "https://itunes.apple.com";
|
|||
module.exports.match = require('./url').match;
|
||||
|
||||
module.exports.parseUrl = function(url) {
|
||||
var deferred = Q.defer();
|
||||
var parsed = parse(url);
|
||||
var matches = parsed.path.match(/[\/]?([\/]?[a-z]{2}?)?[\/]+album[\/]+([^\/]+)[\/]+([^\?]+)/);
|
||||
var query = querystring.parse(parsed.query);
|
||||
|
@ -23,16 +23,13 @@ module.exports.parseUrl = function(url) {
|
|||
type = "track";
|
||||
id = query.i;
|
||||
}
|
||||
module.exports.lookupId(id, type, matches[1] || "us").then(deferred.resolve, deferred.reject);
|
||||
return module.exports.lookupId(id, type, matches[1] || "us");
|
||||
} else {
|
||||
deferred.reject();
|
||||
throw new Error();
|
||||
}
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
module.exports.lookupId = function(id, type, cc) {
|
||||
var deferred = Q.defer();
|
||||
|
||||
if (id.match(/^[a-z]{2}/)) {
|
||||
cc = id.substr(0,2);
|
||||
id = id.substr(2);
|
||||
|
@ -43,13 +40,13 @@ module.exports.lookupId = function(id, type, cc) {
|
|||
path = "/" + cc + path;
|
||||
}
|
||||
|
||||
request.get(apiRoot + path, function(res) {
|
||||
return request.get(apiRoot + path).promise().then(function(res) {
|
||||
var data = JSON.parse(res.text);
|
||||
|
||||
if (!data.results || data.resultCount == 0 || !data.results[0].collectionId) {
|
||||
var error = new Error("Not Found");
|
||||
error.status = 404;
|
||||
deferred.reject(error);
|
||||
throw error;
|
||||
} else {
|
||||
var result = data.results[0];
|
||||
|
||||
|
@ -72,14 +69,12 @@ module.exports.lookupId = function(id, type, cc) {
|
|||
};
|
||||
}
|
||||
|
||||
deferred.resolve(item);
|
||||
return item;
|
||||
}
|
||||
});
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
module.exports.search = function(data) {
|
||||
var deferred = Q.defer();
|
||||
var query, album, entity;
|
||||
var type = data.type;
|
||||
|
||||
|
@ -94,7 +89,7 @@ module.exports.search = function(data) {
|
|||
}
|
||||
|
||||
var path = "/search?term=" + encodeURIComponent(query) + "&media=music&entity=" + entity;
|
||||
request.get(apiRoot + path, function(res) {
|
||||
return request.get(apiRoot + path).promise().then(function(res) {
|
||||
var result = JSON.parse(res.text);
|
||||
|
||||
if (!result.results[0]) {
|
||||
|
@ -106,9 +101,9 @@ module.exports.search = function(data) {
|
|||
} else if (type == "track") {
|
||||
cleanedData.album.name = matches[0].trim();
|
||||
}
|
||||
module.exports.search(cleanedData).then(deferred.resolve);
|
||||
return module.exports.search(cleanedData);
|
||||
} else {
|
||||
deferred.resolve({service: "itunes"});
|
||||
return {service: "itunes"};
|
||||
}
|
||||
} else {
|
||||
var result = result.results[0];
|
||||
|
@ -131,9 +126,7 @@ module.exports.search = function(data) {
|
|||
name: result.collectionName
|
||||
};
|
||||
}
|
||||
deferred.resolve(item);
|
||||
return item;
|
||||
}
|
||||
});
|
||||
|
||||
return deferred.promise;
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"use strict";
|
||||
var parse = require('url').parse;
|
||||
var Q = require('q');
|
||||
var Promise = require('bluebird');
|
||||
|
||||
module.exports.id = "rdio";
|
||||
|
||||
|
@ -14,21 +14,18 @@ var rdio = require('rdio')({
|
|||
rdio_api_shared: process.env.RDIO_API_SHARED,
|
||||
});
|
||||
|
||||
var rdio = Promise.promisifyAll(rdio);
|
||||
|
||||
module.exports.match = require('./url').match;
|
||||
|
||||
module.exports.lookupId = function(id) {
|
||||
var deferred = Q.defer();
|
||||
rdio.api("", "", {
|
||||
method: 'getObjectFromShortCode',
|
||||
short_code: id,
|
||||
}, function(err, results) {
|
||||
if (err || !JSON.parse(results).result) {
|
||||
return rdio.apiAsync("", "", {method: 'getObjectFromShortCode', short_code: id}).then(function(results) {
|
||||
if (!JSON.parse(results[0]).result) {
|
||||
var error = new Error("Not Found");
|
||||
error.status = 404;
|
||||
deferred.reject(error);
|
||||
return;
|
||||
throw error;
|
||||
}
|
||||
var result = JSON.parse(results).result;
|
||||
var result = JSON.parse(results[0]).result;
|
||||
var parsed = parse(result.shortUrl)
|
||||
var id = parsed.path.replace("/x/", "").replace("/", "");
|
||||
var type = result.album ? "track" : "album";
|
||||
|
@ -49,13 +46,11 @@ module.exports.lookupId = function(id) {
|
|||
name: result.album
|
||||
};
|
||||
}
|
||||
deferred.resolve(item);
|
||||
return item;
|
||||
});
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
module.exports.parseUrl = function(url) {
|
||||
var deferred = Q.defer();
|
||||
var parsed = parse(url);
|
||||
|
||||
var data;
|
||||
|
@ -73,16 +68,16 @@ module.exports.parseUrl = function(url) {
|
|||
} else {
|
||||
var error = new Error("Not Found");
|
||||
error.status = 404;
|
||||
return deferred.reject(error);
|
||||
throw error;
|
||||
}
|
||||
|
||||
rdio.api("", "", data, function(err, results) {
|
||||
var results = JSON.parse(results);
|
||||
return rdio.apiAsync("", "", data).then(function(results) {
|
||||
var results = JSON.parse(results[0]);
|
||||
var result = results.result;
|
||||
if (!result || results.status != "ok") {
|
||||
var error = new Error("Not Found");
|
||||
error.status = 404;
|
||||
return deferred.reject(error);
|
||||
throw error;
|
||||
} else {
|
||||
var parsed = parse(result.shortUrl)
|
||||
var id = parsed.path.replace("/x/", "").replace("/", "");
|
||||
|
@ -104,14 +99,12 @@ module.exports.parseUrl = function(url) {
|
|||
name: result.album
|
||||
};
|
||||
}
|
||||
deferred.resolve(item);
|
||||
return item;
|
||||
}
|
||||
});
|
||||
return deferred.promise;
|
||||
};
|
||||
|
||||
module.exports.search = function(data) {
|
||||
var deferred = Q.defer();
|
||||
var query, albumClean;
|
||||
var type = data.type;
|
||||
|
||||
|
@ -123,12 +116,8 @@ module.exports.search = function(data) {
|
|||
albumClean = data.album.name.match(/([^\(\[]+)/)[0];
|
||||
}
|
||||
|
||||
rdio.api("", "", {
|
||||
query: query,
|
||||
method: 'search',
|
||||
types: type,
|
||||
}, function(err, results) {
|
||||
var results = JSON.parse(results).result.results;
|
||||
return rdio.apiAsync("", "", {query: query, method: 'search', types: type}).then(function(results) {
|
||||
var results = JSON.parse(results[0]).result.results;
|
||||
|
||||
var result = results.filter(function(result) {
|
||||
if (type == "album" && result.name.match(/([^\(\[]+)/)[0] == albumClean) {
|
||||
|
@ -147,9 +136,9 @@ module.exports.search = function(data) {
|
|||
} else if (type == "track") {
|
||||
cleanedData.album.name = matches[0].trim();
|
||||
}
|
||||
module.exports.search(cleanedData).then(deferred.resolve);
|
||||
return module.exports.search(cleanedData);
|
||||
} else {
|
||||
deferred.resolve({service: "rdio"});
|
||||
return {service: "rdio"};
|
||||
}
|
||||
} else {
|
||||
var parsed = parse(result.shortUrl)
|
||||
|
@ -171,8 +160,7 @@ module.exports.search = function(data) {
|
|||
name: result.album
|
||||
};
|
||||
}
|
||||
deferred.resolve(item);
|
||||
return item;
|
||||
}
|
||||
});
|
||||
return deferred.promise;
|
||||
};
|
||||
|
|
|
@ -1,36 +1,32 @@
|
|||
"use strict";
|
||||
var parse = require('url').parse;
|
||||
var spotify = require('spotify');
|
||||
var Q = require('q');
|
||||
var Promise = require('bluebird');
|
||||
var spotify = Promise.promisifyAll(require('spotify'));
|
||||
|
||||
module.exports.id = "spotify";
|
||||
|
||||
module.exports.match = require('./url').match;
|
||||
|
||||
module.exports.parseUrl = function(url) {
|
||||
var deferred = Q.defer();
|
||||
var matches = parse(url).path.match(/\/(album|track)[\/]+([^\/]+)/);
|
||||
|
||||
if (matches && matches[2]) {
|
||||
module.exports.lookupId(matches[2], matches[1]).then(deferred.resolve);
|
||||
return module.exports.lookupId(matches[2], matches[1]);
|
||||
}
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
module.exports.lookupId = function(id, type) {
|
||||
var deferred = Q.defer();
|
||||
spotify.lookup({id: id, type: type}, function(err, data) {
|
||||
if ( err || data.error) {
|
||||
return spotify.lookupAsync({id: id, type: type}).then(function(data) {
|
||||
if (data.error) {
|
||||
var error = new Error("Not Found");
|
||||
error.status = 404;
|
||||
deferred.reject(error);
|
||||
return;
|
||||
throw error;
|
||||
}
|
||||
|
||||
var artist = data.artists[0];
|
||||
|
||||
if (type == "album") {
|
||||
deferred.resolve({
|
||||
return {
|
||||
service: "spotify",
|
||||
type: type,
|
||||
id: data.id,
|
||||
|
@ -41,9 +37,9 @@ module.exports.lookupId = function(id, type) {
|
|||
artist: {
|
||||
name: artist.name
|
||||
}
|
||||
});
|
||||
};
|
||||
} else if (type == "track") {
|
||||
deferred.resolve({
|
||||
return {
|
||||
service: "spotify",
|
||||
type: type,
|
||||
id: data.id,
|
||||
|
@ -57,14 +53,12 @@ module.exports.lookupId = function(id, type) {
|
|||
album: {
|
||||
name: data.album.name
|
||||
}
|
||||
})
|
||||
};
|
||||
}
|
||||
});
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
module.exports.search = function(data) {
|
||||
var deferred = Q.defer();
|
||||
var query, album;
|
||||
var type = data.type;
|
||||
|
||||
|
@ -76,12 +70,7 @@ module.exports.search = function(data) {
|
|||
album = data.album.name;
|
||||
}
|
||||
|
||||
spotify.search({query: query, type: type}, function(err, results) {
|
||||
if ( err ) {
|
||||
deferred.resolve({service: "spotify"});
|
||||
return;
|
||||
}
|
||||
|
||||
return spotify.searchAsync({query: query, type: type}).then(function(results) {
|
||||
if (!results[type + "s"].items[0]) {
|
||||
var matches = album.match(/^[^\(\[]+/);
|
||||
if (matches[0] && matches[0] != album) {
|
||||
|
@ -91,14 +80,13 @@ module.exports.search = function(data) {
|
|||
} else if (type == "track") {
|
||||
cleanedData.album.name = matches[0].trim();
|
||||
}
|
||||
module.exports.search(cleanedData).then(deferred.resolve);
|
||||
return module.exports.search(cleanedData);
|
||||
} else {
|
||||
deferred.resolve({service: "spotify"});
|
||||
return {service: "spotify"};
|
||||
}
|
||||
} else {
|
||||
module.exports.lookupId(results[type + "s"].items[0].id, type).then(deferred.resolve);
|
||||
return module.exports.lookupId(results[type + "s"].items[0].id, type);
|
||||
}
|
||||
|
||||
});
|
||||
return deferred.promise;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
"use strict";
|
||||
var parse = require('url').parse;
|
||||
var Promise = require('bluebird');
|
||||
var request = require('superagent');
|
||||
var Q = require('q');
|
||||
require('superagent-bluebird-promise');
|
||||
|
||||
module.exports.id = "youtube";
|
||||
|
||||
|
@ -19,7 +20,6 @@ var apiRoot = "https://www.googleapis.com/youtube/v3";
|
|||
module.exports.match = require('./url').match;
|
||||
|
||||
module.exports.search = function(data) {
|
||||
var deferred = Q.defer();
|
||||
var query, album;
|
||||
var type = data.type;
|
||||
|
||||
|
@ -33,13 +33,13 @@ module.exports.search = function(data) {
|
|||
|
||||
var path = "/search?part=snippet&q=" + encodeURIComponent(query) + "&type=video&videoCaption=any&videoCategoryId=10&key=" + credentials.key;
|
||||
|
||||
request.get(apiRoot + path, function(res) {
|
||||
return request.get(apiRoot + path).promise().then(function(res) {
|
||||
var result = res.body.items[0];
|
||||
|
||||
if (!result) {
|
||||
deferred.resolve({service:"youtube", type: "video"});
|
||||
return {service:"youtube", type: "video"};
|
||||
} else {
|
||||
deferred.resolve({
|
||||
return {
|
||||
service: "youtube",
|
||||
type: "video",
|
||||
id: result.id.videoId,
|
||||
|
@ -47,8 +47,7 @@ module.exports.search = function(data) {
|
|||
streamUrl: "https://www.youtube.com/watch?v=" + result.id.videoId,
|
||||
purchaseUrl: null,
|
||||
artwork: result.snippet.thumbnails.medium.url,
|
||||
});
|
||||
};
|
||||
}
|
||||
});
|
||||
return deferred.promise;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue