songData = async function(track, artist) {
const url = song_info_url.replace("???", artist).replace("%%%", track);
var track_info = await d3.json(url);
const song_data = {};
if (track_info == null || track_info.message != null) {
song_data["track"] = "Track not found: " + track;
song_data["url"] = "";
song_data["artist"] = artist;
song_data["artist_url"] = "";
song_data["listeners"] = -1;
song_data["playcount"] = -1;
song_data["tags"] = [];
song_data["similar"] = [];
song_data["countries"] = [];
} else {
const inf = track_info.track;
song_data["track"] = inf.name;
song_data["url"] = inf.url;
song_data["artist"] = inf.artist.name;
song_data["artist_url"] = inf.artist.url;
song_data["listeners"] = parseInt(inf.listeners);
song_data["playcount"] = parseInt(inf.playcount);
song_data["tags"] = inf.toptags.tag;
song_data["similar"] = await similar_tracks(track, artist);
song_data["countries"] = await get_countries_for_song(
inf.name,
inf.artist.name
);
}
return song_data;
}