Compare commits
4 Commits
6b9c6c3261
...
280db5f94c
Author | SHA1 | Date |
---|---|---|
Jill | 280db5f94c | |
Jill | 5773cb5884 | |
Jill | b0add35601 | |
Jill | 1513b34da0 |
File diff suppressed because one or more lines are too long
41
src/index.js
41
src/index.js
|
@ -92,7 +92,12 @@ app.ws('/api/album', async (ws, req) => {
|
|||
}
|
||||
};
|
||||
|
||||
const album = await deezerInstance.api.get_album(req.query.id);
|
||||
let album;
|
||||
try {
|
||||
album = await deezerInstance.api.get_album(req.query.id);
|
||||
} catch(err) {
|
||||
return ws.close();
|
||||
}
|
||||
|
||||
listener.send('coverArt', album.cover_medium);
|
||||
|
||||
|
@ -104,6 +109,40 @@ app.ws('/api/album', async (ws, req) => {
|
|||
ws.close();
|
||||
});
|
||||
|
||||
app.ws('/api/track', async (ws, req) => {
|
||||
if (!req.query.id) return ws.close();
|
||||
|
||||
const listener = {
|
||||
send(key, data) {
|
||||
if (data.downloaded) {
|
||||
ws.send(JSON.stringify({key: 'download', data: data.downloadPath.replace(process.cwd(), '')}));
|
||||
setTimeout(() => {
|
||||
fs.unlinkSync(data.downloadPath);
|
||||
}, 1000 * 60 * 60 /* 1 hour */);
|
||||
}
|
||||
|
||||
ws.send(JSON.stringify({key, data}));
|
||||
console.log(`[${key}] ${inspect(data)}`);
|
||||
}
|
||||
};
|
||||
|
||||
let track;
|
||||
try {
|
||||
track = await deezerInstance.api.get_track(req.query.id);
|
||||
} catch(err) {
|
||||
return ws.close();
|
||||
}
|
||||
|
||||
listener.send('coverArt', track.album.cover_medium);
|
||||
|
||||
let dlObj = await deemix.generateDownloadObject(deezerInstance, 'https://www.deezer.com/track/' + req.query.id, deezer.TrackFormats.FLAC);
|
||||
deemixDownloader = new deemix.downloader.Downloader(deezerInstance, dlObj, deemixSettings, listener);
|
||||
|
||||
await deemixDownloader.start();
|
||||
|
||||
ws.close();
|
||||
});
|
||||
|
||||
deezerInstance.login_via_arl(process.env.DEEZER_ARL).then(() => {
|
||||
console.log('logged into deezer');
|
||||
app.listen(port, () => {
|
||||
|
|
Loading…
Reference in New Issue