stuff
This commit is contained in:
47
buildfiles/app/node_modules/lastfmapi/lib/album.js
generated
vendored
Normal file
47
buildfiles/app/node_modules/lastfmapi/lib/album.js
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
var defaults = require('./defaults');
|
||||
|
||||
var Album = module.exports = function (lastfm) {
|
||||
this.lastfm = lastfm;
|
||||
};
|
||||
|
||||
Album.prototype.addTags = function (artist, album, tags, callback) {
|
||||
if (!Array.isArray(tags)) { tags = [ tags ]; }
|
||||
var options = defaults.defaultOptions({
|
||||
'artist' : artist,
|
||||
'album' : album,
|
||||
'tags' : tags.join(','),
|
||||
'sk' : this.lastfm.sessionCredentials.key
|
||||
}, callback);
|
||||
this.lastfm.api.request('album.addTags', options);
|
||||
};
|
||||
|
||||
Album.prototype.getInfo = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'album');
|
||||
this.lastfm.api.request('album.getInfo', options);
|
||||
};
|
||||
|
||||
Album.prototype.getTags = function (params, callback) {
|
||||
if (!params.user) { params.user = this.lastfm.sessionCredentials.username; }
|
||||
var options = defaults.defaultOptions(params, callback, 'tags');
|
||||
this.lastfm.api.request('album.getTags', options);
|
||||
};
|
||||
|
||||
Album.prototype.getTopTags = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'toptags');
|
||||
this.lastfm.api.request('album.getTopTags', options);
|
||||
};
|
||||
|
||||
Album.prototype.removeTag = function (artist, album, tag, callback) {
|
||||
var options = defaults.defaultOptions({
|
||||
'artist' : artist,
|
||||
'album' : album,
|
||||
'tag' : tag,
|
||||
'sk' : this.lastfm.sessionCredentials.key
|
||||
}, callback);
|
||||
this.lastfm.api.request('album.removeTag', options);
|
||||
};
|
||||
|
||||
Album.prototype.search = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'results');
|
||||
this.lastfm.api.request('album.search', options);
|
||||
};
|
65
buildfiles/app/node_modules/lastfmapi/lib/artist.js
generated
vendored
Normal file
65
buildfiles/app/node_modules/lastfmapi/lib/artist.js
generated
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
var defaults = require('./defaults');
|
||||
|
||||
var Artist = module.exports = function (lastfm) {
|
||||
this.lastfm = lastfm;
|
||||
};
|
||||
|
||||
Artist.prototype.addTags = function (artist, tags, callback) {
|
||||
if (!Array.isArray(tags)) { tags = [ tags ]; }
|
||||
var options = defaults.defaultOptions({
|
||||
'artist' : artist,
|
||||
'tags' : tags.join(','),
|
||||
'sk' : this.lastfm.sessionCredentials.key
|
||||
}, callback);
|
||||
this.lastfm.api.request('artist.addTags', options);
|
||||
};
|
||||
|
||||
Artist.prototype.getCorrection = function (artist, callback) {
|
||||
var options = defaults.defaultOptions({ 'artist' : artist }, callback, 'corrections');
|
||||
this.lastfm.api.request('artist.getCorrection', options);
|
||||
};
|
||||
|
||||
Artist.prototype.getInfo = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'artist');
|
||||
this.lastfm.api.request('artist.getInfo', options);
|
||||
};
|
||||
|
||||
Artist.prototype.getSimilar = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'similarartists');
|
||||
this.lastfm.api.request('artist.getSimilar', options);
|
||||
};
|
||||
|
||||
Artist.prototype.getTags = function (params, callback) {
|
||||
if (!params.user) { params.user = this.lastfm.sessionCredentials.username; }
|
||||
var options = defaults.defaultOptions(params, callback, 'tags');
|
||||
this.lastfm.api.request('artist.getTags', options);
|
||||
};
|
||||
|
||||
Artist.prototype.getTopAlbums = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'topalbums');
|
||||
this.lastfm.api.request('artist.getTopAlbums', options);
|
||||
};
|
||||
|
||||
Artist.prototype.getTopTags = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'toptags');
|
||||
this.lastfm.api.request('artist.getTopTags', options);
|
||||
};
|
||||
|
||||
Artist.prototype.getTopTracks = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'toptracks');
|
||||
this.lastfm.api.request('artist.getTopTracks', options);
|
||||
};
|
||||
|
||||
Artist.prototype.removeTag = function (artist, tag, callback) {
|
||||
var options = defaults.defaultOptions({
|
||||
'artist' : artist,
|
||||
'tag' : tag,
|
||||
'sk' : this.lastfm.sessionCredentials.key
|
||||
}, callback);
|
||||
this.lastfm.api.request('artist.removeTag', options);
|
||||
};
|
||||
|
||||
Artist.prototype.search = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'results');
|
||||
this.lastfm.api.request('artist.search', options);
|
||||
};
|
23
buildfiles/app/node_modules/lastfmapi/lib/auth.js
generated
vendored
Normal file
23
buildfiles/app/node_modules/lastfmapi/lib/auth.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
var defaults = require('./defaults');
|
||||
|
||||
var Auth = module.exports = function (lastfm) {
|
||||
this.lastfm = lastfm;
|
||||
};
|
||||
|
||||
Auth.prototype.getMobileSession = function (username, password, callback) {
|
||||
var options = defaults.defaultOptions({
|
||||
'username' : username,
|
||||
'password' : password
|
||||
}, callback, 'session');
|
||||
this.lastfm.api.request('auth.getMobileSession', options);
|
||||
};
|
||||
|
||||
Auth.prototype.getSession = function (token, callback) {
|
||||
var options = defaults.defaultOptions({ 'token' : token }, callback, 'session');
|
||||
this.lastfm.api.request('auth.getSession', options);
|
||||
};
|
||||
|
||||
Auth.prototype.getToken = function (callback) {
|
||||
var options = defaults.defaultOptions({}, callback, 'token');
|
||||
this.lastfm.api.request('auth.getToken', options);
|
||||
};
|
29
buildfiles/app/node_modules/lastfmapi/lib/chart.js
generated
vendored
Normal file
29
buildfiles/app/node_modules/lastfmapi/lib/chart.js
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
var defaults = require('./defaults');
|
||||
|
||||
var Chart = module.exports = function (lastfm) {
|
||||
this.lastfm = lastfm;
|
||||
};
|
||||
|
||||
Chart.prototype.getLovedTracks = function (params, callback) {
|
||||
if (typeof callback === 'undefined') { callback = params; params = null; }
|
||||
var options = defaults.defaultOptions(params, callback, 'tracks');
|
||||
this.lastfm.api.request('chart.getLovedTracks', options);
|
||||
};
|
||||
|
||||
Chart.prototype.getTopArtists = function (params, callback) {
|
||||
if (typeof callback === 'undefined') { callback = params; params = null; }
|
||||
var options = defaults.defaultOptions(params, callback, 'artists');
|
||||
this.lastfm.api.request('chart.getTopArtists', options);
|
||||
};
|
||||
|
||||
Chart.prototype.getTopTags = function (params, callback) {
|
||||
if (typeof callback === 'undefined') { callback = params; params = null; }
|
||||
var options = defaults.defaultOptions(params, callback, 'tags');
|
||||
this.lastfm.api.request('chart.getTopTags', options);
|
||||
};
|
||||
|
||||
Chart.prototype.getTopTracks = function (params, callback) {
|
||||
if (typeof callback === 'undefined') { callback = params; params = null; }
|
||||
var options = defaults.defaultOptions(params, callback, 'tracks');
|
||||
this.lastfm.api.request('chart.getTopTracks', options);
|
||||
};
|
24
buildfiles/app/node_modules/lastfmapi/lib/defaults.js
generated
vendored
Normal file
24
buildfiles/app/node_modules/lastfmapi/lib/defaults.js
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
var defaultOptions = function (params, callback, key) {
|
||||
var options = params || {};
|
||||
|
||||
options.handlers = {
|
||||
'success' : function (rsp) {
|
||||
if (key) { rsp = rsp[key]; }
|
||||
|
||||
if (rsp && typeof callback === 'function') {
|
||||
callback(null, rsp);
|
||||
} else {
|
||||
callback(new Error("Not found"));
|
||||
}
|
||||
},
|
||||
'error' : function (err) {
|
||||
if (typeof callback === 'function') {
|
||||
callback(err);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return options;
|
||||
};
|
||||
|
||||
exports.defaultOptions = defaultOptions;
|
13
buildfiles/app/node_modules/lastfmapi/lib/geo.js
generated
vendored
Normal file
13
buildfiles/app/node_modules/lastfmapi/lib/geo.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
var defaults = require('./defaults');
|
||||
|
||||
var Geo = module.exports = function (lastfm) { this.lastfm = lastfm; };
|
||||
|
||||
Geo.prototype.getTopArtists = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'topartists');
|
||||
this.lastfm.api.request('geo.getTopArtists', options);
|
||||
};
|
||||
|
||||
Geo.prototype.getTopTracks = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'tracks');
|
||||
this.lastfm.api.request('geo.getTopTracks', options);
|
||||
};
|
62
buildfiles/app/node_modules/lastfmapi/lib/lastfmapi.js
generated
vendored
Normal file
62
buildfiles/app/node_modules/lastfmapi/lib/lastfmapi.js
generated
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
var url = require('url');
|
||||
var defaults = require('./defaults');
|
||||
var lastfm = require('lastfm');
|
||||
var LastFmNode = require('lastfm').LastFmNode;
|
||||
|
||||
var Album = require('./album');
|
||||
var Artist = require('./artist');
|
||||
var Auth = require('./auth');
|
||||
var Chart = require('./chart');
|
||||
var Geo = require('./geo');
|
||||
var Library = require('./library');
|
||||
var Tag = require('./tag');
|
||||
var Track = require('./track');
|
||||
var User = require('./user');
|
||||
|
||||
var LastfmAPI = module.exports = function (options) {
|
||||
this.api = new LastFmNode(options);
|
||||
this.sessionCredentials = null;
|
||||
|
||||
this.album = new Album(this);
|
||||
this.artist = new Artist(this);
|
||||
this.auth = new Auth(this);
|
||||
this.chart = new Chart(this);
|
||||
this.geo = new Geo(this);
|
||||
this.library = new Library(this);
|
||||
this.tag = new Tag(this);
|
||||
this.track = new Track(this);
|
||||
this.user = new User(this);
|
||||
};
|
||||
|
||||
LastfmAPI.prototype.getAuthenticationUrl = function (params) {
|
||||
if (!params) params = {};
|
||||
var baseUrl = 'http://www.last.fm/api/auth',
|
||||
urlParts = url.parse(baseUrl);
|
||||
|
||||
urlParts.query = {};;
|
||||
urlParts.query.api_key = this.api.api_key;
|
||||
if (params.cb) { urlParts.query.cb = params.cb; }
|
||||
if (params.token) { urlParts.query.token = params.token; }
|
||||
|
||||
return url.format(urlParts);
|
||||
};
|
||||
|
||||
LastfmAPI.prototype.setSessionCredentials = function (username, key) {
|
||||
this.sessionCredentials = {
|
||||
'username' : username,
|
||||
'key' : key
|
||||
};
|
||||
};
|
||||
|
||||
LastfmAPI.prototype.authenticate = function (token, callback) {
|
||||
if (typeof callback !== 'function') { callback = function () {}; }
|
||||
var self = this;
|
||||
|
||||
this.auth.getSession(token, function (err, session) {
|
||||
if (err) { return callback(err); }
|
||||
if (!session.key) { return callback(new Error('Something fishy')); }
|
||||
|
||||
self.setSessionCredentials(session.name, session.key);
|
||||
callback(null, self.sessionCredentials);
|
||||
});
|
||||
};
|
10
buildfiles/app/node_modules/lastfmapi/lib/library.js
generated
vendored
Normal file
10
buildfiles/app/node_modules/lastfmapi/lib/library.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
var defaults = require('./defaults');
|
||||
|
||||
var Library = module.exports = function (lastfm) {
|
||||
this.lastfm = lastfm;
|
||||
};
|
||||
|
||||
Library.prototype.getArtists = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'artists');
|
||||
this.lastfm.api.request('library.getArtists', options);
|
||||
};
|
44
buildfiles/app/node_modules/lastfmapi/lib/tag.js
generated
vendored
Normal file
44
buildfiles/app/node_modules/lastfmapi/lib/tag.js
generated
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
var defaults = require('./defaults');
|
||||
|
||||
var Tag = module.exports = function (lastfm) {
|
||||
this.lastfm = lastfm;
|
||||
};
|
||||
|
||||
Tag.prototype.getInfo = function (tag, lang, callback) {
|
||||
if (typeof callback !== 'function') { callback = lang; lang = null; }
|
||||
var options = defaults.defaultOptions({
|
||||
'tag' : tag,
|
||||
'lang' : lang
|
||||
}, callback, 'tag');
|
||||
this.lastfm.api.request('tag.getInfo', options);
|
||||
};
|
||||
|
||||
Tag.prototype.getSimilar = function (tag, callback) {
|
||||
var options = defaults.defaultOptions({ 'tag' : tag }, callback, 'similartags');
|
||||
this.lastfm.api.request('tag.getSimilar', options);
|
||||
};
|
||||
|
||||
Tag.prototype.getTopAlbums = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'topalbums');
|
||||
this.lastfm.api.request('tag.getTopAlbums', options);
|
||||
};
|
||||
|
||||
Tag.prototype.getTopArtists = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'topartists');
|
||||
this.lastfm.api.request('tag.getTopArtists', options);
|
||||
};
|
||||
|
||||
Tag.prototype.getTopTags = function (callback) {
|
||||
var options = defaults.defaultOptions(null, callback, 'toptags');
|
||||
this.lastfm.api.request('tag.getTopTags', options);
|
||||
};
|
||||
|
||||
Tag.prototype.getTopTracks = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'toptracks');
|
||||
this.lastfm.api.request('tag.getTopTracks', options);
|
||||
};
|
||||
|
||||
Tag.prototype.getWeeklyChartList = function (tag, callback) {
|
||||
var options = defaults.defaultOptions({ 'tag' : tag }, callback, 'weeklychartlist');
|
||||
this.lastfm.api.request('tag.getWeeklyChartList', options);
|
||||
};
|
95
buildfiles/app/node_modules/lastfmapi/lib/track.js
generated
vendored
Normal file
95
buildfiles/app/node_modules/lastfmapi/lib/track.js
generated
vendored
Normal file
@ -0,0 +1,95 @@
|
||||
var defaults = require('./defaults');
|
||||
|
||||
var Track = module.exports = function (lastfm) {
|
||||
this.lastfm = lastfm;
|
||||
};
|
||||
|
||||
Track.prototype.addTags = function (artist, track, tags, callback) {
|
||||
if (!Array.isArray(tags)) { tags = [ tags ]; }
|
||||
var options = defaults.defaultOptions({
|
||||
'artist' : artist,
|
||||
'track' : track,
|
||||
'tags' : tags.join(','),
|
||||
'sk' : this.lastfm.sessionCredentials.key
|
||||
}, callback);
|
||||
this.lastfm.api.request('track.addTags', options);
|
||||
};
|
||||
|
||||
Track.prototype.getCorrection = function (artist, track, callback) {
|
||||
var options = defaults.defaultOptions({
|
||||
'artist' : artist,
|
||||
'track' : track
|
||||
}, callback, 'corrections');
|
||||
this.lastfm.api.request('track.getCorrection', options);
|
||||
};
|
||||
|
||||
Track.prototype.getInfo = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'track');
|
||||
this.lastfm.api.request('track.getInfo', options);
|
||||
};
|
||||
|
||||
Track.prototype.getSimilar = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'similartracks');
|
||||
this.lastfm.api.request('track.getSimilar', options);
|
||||
};
|
||||
|
||||
Track.prototype.getTags = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'tags');
|
||||
this.lastfm.api.request('track.getTags', options);
|
||||
};
|
||||
|
||||
Track.prototype.getTopTags = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'toptags');
|
||||
this.lastfm.api.request('track.getTopTags', options);
|
||||
};
|
||||
|
||||
Track.prototype.love = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback);
|
||||
options.sk = this.lastfm.sessionCredentials.key;
|
||||
this.lastfm.api.request('track.love', options);
|
||||
};
|
||||
|
||||
Track.prototype.removeTag = function (artist, track, tag, callback) {
|
||||
var options = defaults.defaultOptions({
|
||||
'artist' : artist,
|
||||
'track' : track,
|
||||
'tag' : tag,
|
||||
'sk' : this.lastfm.sessionCredentials.key
|
||||
}, callback);
|
||||
this.lastfm.api.request('track.removeTag', options);
|
||||
};
|
||||
|
||||
Track.prototype.scrobble = function (params, callback) {
|
||||
var i, len, key, newParams = {};
|
||||
if (Array.isArray(params)) {
|
||||
for (i = 0, len = params.length; i < len; i++) {
|
||||
for (key in params[i]) {
|
||||
newParams[key + '[' + i + ']'] = params[i][key];
|
||||
}
|
||||
}
|
||||
params = newParams;
|
||||
}
|
||||
var options = defaults.defaultOptions(params, callback, 'scrobbles');
|
||||
options.sk = this.lastfm.sessionCredentials.key;
|
||||
this.lastfm.api.request('track.scrobble', options);
|
||||
};
|
||||
|
||||
Track.prototype.search = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'results');
|
||||
this.lastfm.api.request('track.search', options);
|
||||
};
|
||||
|
||||
Track.prototype.unlove = function (artist, track, callback) {
|
||||
var options = defaults.defaultOptions({
|
||||
'artist' : artist,
|
||||
'track' : track,
|
||||
'sk' : this.lastfm.sessionCredentials.key
|
||||
}, callback);
|
||||
this.lastfm.api.request('track.unlove', options);
|
||||
};
|
||||
|
||||
Track.prototype.updateNowPlaying = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'nowplaying');
|
||||
options.sk = this.lastfm.sessionCredentials.key;
|
||||
this.lastfm.api.request('track.updateNowPlaying', options);
|
||||
};
|
82
buildfiles/app/node_modules/lastfmapi/lib/user.js
generated
vendored
Normal file
82
buildfiles/app/node_modules/lastfmapi/lib/user.js
generated
vendored
Normal file
@ -0,0 +1,82 @@
|
||||
var defaults = require('./defaults');
|
||||
|
||||
var User = module.exports = function (lastfm) {
|
||||
this.lastfm = lastfm;
|
||||
};
|
||||
|
||||
User.prototype.getArtistTracks = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'artisttracks');
|
||||
this.lastfm.api.request('user.getArtistTracks', options);
|
||||
};
|
||||
|
||||
User.prototype.getFriends = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'friends');
|
||||
this.lastfm.api.request('user.getFriends', options);
|
||||
};
|
||||
|
||||
User.prototype.getInfo = function (user, callback) {
|
||||
if (typeof callback !== 'function') { callback = user; user = null; }
|
||||
var params = (user) ? { 'user' : user } : null;
|
||||
var options = defaults.defaultOptions(params, callback, 'user');
|
||||
if (!params) { options.sk = this.lastfm.sessionCredentials.key; }
|
||||
this.lastfm.api.request('user.getInfo', options);
|
||||
};
|
||||
|
||||
User.prototype.getLovedTracks = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'lovedtracks');
|
||||
this.lastfm.api.request('user.getLovedTracks', options);
|
||||
};
|
||||
|
||||
User.prototype.getPersonalTags = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'taggings');
|
||||
this.lastfm.api.request('user.getPersonalTags', options);
|
||||
};
|
||||
|
||||
User.prototype.getRecentTracks = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'recenttracks');
|
||||
this.lastfm.api.request('user.getRecentTracks', options);
|
||||
};
|
||||
|
||||
User.prototype.getTopAlbums = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'topalbums');
|
||||
this.lastfm.api.request('user.getTopAlbums', options);
|
||||
};
|
||||
|
||||
User.prototype.getTopArtists = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'topartists');
|
||||
this.lastfm.api.request('user.getTopArtists', options);
|
||||
};
|
||||
|
||||
User.prototype.getTopTags = function (user, limit, callback) {
|
||||
if (typeof callback !== 'function') { callback = limit; limit = null; }
|
||||
var options = defaults.defaultOptions({
|
||||
'user' : user,
|
||||
'limit' : limit
|
||||
}, callback, 'toptags');
|
||||
this.lastfm.api.request('user.getTopTags', options);
|
||||
};
|
||||
|
||||
User.prototype.getTopTracks = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'toptracks');
|
||||
this.lastfm.api.request('user.getTopTracks', options);
|
||||
};
|
||||
|
||||
User.prototype.getWeeklyAlbumChart = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'weeklyalbumchart');
|
||||
this.lastfm.api.request('user.getWeeklyAlbumChart', options);
|
||||
};
|
||||
|
||||
User.prototype.getWeeklyArtistChart = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'weeklyartistchart');
|
||||
this.lastfm.api.request('user.getWeeklyArtistChart', options);
|
||||
};
|
||||
|
||||
User.prototype.getWeeklyChartList = function (user, callback) {
|
||||
var options = defaults.defaultOptions({ 'user' : user }, callback, 'weeklychartlist');
|
||||
this.lastfm.api.request('user.getWeeklyChartList', options);
|
||||
};
|
||||
|
||||
User.prototype.getWeeklyTrackChart = function (params, callback) {
|
||||
var options = defaults.defaultOptions(params, callback, 'weeklytrackchart');
|
||||
this.lastfm.api.request('user.getWeeklyTrackChart', options);
|
||||
};
|
Reference in New Issue
Block a user