Improve resiliency against slow api calls, rdio and brackets

This commit is contained in:
Jonathan Cremin 2014-12-05 13:44:42 +00:00
parent 2be3660765
commit f7b1fcd53f
3 changed files with 12 additions and 5 deletions

View file

@ -40,7 +40,8 @@ module.exports.lookupId = function(id, type) {
type: type,
id: result.id,
name: result.title,
url: result.link,
streamUrl: result.album.link,
purchaseUrl: null,
artwork: artwork,
artist: {
name: result.artist.name

View file

@ -88,13 +88,15 @@ module.exports.parseUrl = function(url) {
module.exports.search = function(data) {
var deferred = Q.defer();
var query;
var query, albumClean;
var type = data.type;
if (type == "album") {
query = data.artist.name + " " + data.name;
albumClean = data.name.match(/([^\(\[]+)/)[0];
} else if (type == "track") {
query = data.artist.name + " " + data.album.name + " " + data.name;
albumClean = data.album.name.match(/([^\(\[]+)/)[0];
}
rdio.api("", "", {
@ -105,9 +107,9 @@ module.exports.search = function(data) {
var results = JSON.parse(results).result.results;
var result = results.filter(function(result) {
if (type == "album" && result.name == data.name) {
if (type == "album" && result.name.match(/([^\(\[]+)/)[0] == albumClean) {
return result;
} else if (type == "track" && result.album == data.album.name) {
} else if (type == "track" && result.album.match(/([^\(\[]+)/)[0] == albumClean) {
return result;
}
}).shift();