refactor
This commit is contained in:
39
lib/downloader.js
Normal file
39
lib/downloader.js
Normal file
@@ -0,0 +1,39 @@
|
||||
const { spawn } = require('child_process');
|
||||
const logger = require('./logger');
|
||||
const settings = require('../settings.json');
|
||||
|
||||
const download = (socket, url) => {
|
||||
const ytldp = spawn('./lib/yt-dlp.exe',
|
||||
['-o', `${settings.download_path}%(title)s.%(ext)s`, url]
|
||||
)
|
||||
|
||||
ytldp.stdout.on('data', data => {
|
||||
socket.emit('progress', data.toString())
|
||||
console.log(data.toString())
|
||||
})
|
||||
ytldp.on('exit', () => {
|
||||
socket.emit('progress', 'Done!')
|
||||
})
|
||||
}
|
||||
|
||||
const abortDownload = (socket) => {
|
||||
const res = process.platform === 'win32' ?
|
||||
spawn('taskkill', ['/IM', 'yt-dlp.exe', '/F', '/T']) :
|
||||
spawn('killall', ['yt-dlp'])
|
||||
res.stdout.on('data', data => {
|
||||
socket.emit('progress', 'Aborted!')
|
||||
console.log(data.toString())
|
||||
})
|
||||
logger('download', 'Aborted')
|
||||
}
|
||||
|
||||
const kill = async () => {
|
||||
return process.platform === 'win32' ?
|
||||
spawn('taskkill', ['/IM', 'yt-dlp.exe', '/F', '/T']) :
|
||||
spawn('killall', ['yt-dlp'])
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
download: download,
|
||||
abortDownload: abortDownload
|
||||
}
|
||||
Reference in New Issue
Block a user