This commit is contained in:
2022-09-30 05:39:11 +00:00
parent 41ee9463ae
commit 4687fa49bc
11418 changed files with 1312504 additions and 0 deletions

47
buildfiles/app/node_modules/lastfmapi/lib/album.js generated vendored Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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);
};