This repository has been archived on 2020-11-15. You can view files and clone it, but cannot push or open issues or pull requests.
rdio.export.js/xport.js

43 lines
1.4 KiB
JavaScript

var Rdio = require("./rdio");
var rdio = new Rdio(["your-rdio-api-key", "your-rdio-api-secret"]);
var readline = require("readline");
var fs = require("fs");
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question("what username do you want to export all tracks for? ", function(vanityName) {
rdio.call("findUser", {vanityName:vanityName}, function(err, data) {
if(!err) {
if(data.status == "ok") {
var user_key = data.result.key;
rdio.call("getTracksInCollection", {user:user_key}, function(err, data) {
if(!err) {
if(data.status == "ok") {
var fd = fs.openSync("rdio-track-export." + vanityName + ".csv", "w");
fs.writeSync(fd, "Artist,Album,Track");
for(var i = 0; i < data.result.length; i++) {
var track = data.result[i];
fs.writeSync(fd,
"\"" + track.artist.replace(/"/g, '""') +
"\",\"" + track.album.replace(/"/g, '""') +
"\",\"" + track.name.replace(/"/g, '""') + "\"\n");
}
rl.close();
} else {
console.error("no tracks found!?");
rl.close();
}
}
});
} else {
console.error(vanityName + " not found or is not public");
rl.close();
}
}
});
});