|
|
|
@ -29,8 +29,7 @@ const read_last_lines = require('read-last-lines');
|
|
|
|
|
var ps = require('ps-node');
|
|
|
|
|
|
|
|
|
|
// needed if bin/details somehow gets deleted
|
|
|
|
|
const DETAILS_BIN_PATH = 'node_modules/youtube-dl/bin/details'
|
|
|
|
|
if (!fs.existsSync(DETAILS_BIN_PATH)) fs.writeJSONSync(DETAILS_BIN_PATH, {"version":"2000.06.06","path":"node_modules\\youtube-dl\\bin\\youtube-dl.exe","exec":"youtube-dl.exe","downloader":"youtube-dl"})
|
|
|
|
|
if (!fs.existsSync(CONSTS.DETAILS_BIN_PATH)) fs.writeJSONSync(CONSTS.DETAILS_BIN_PATH, {"version":"2000.06.06","path":"node_modules\\youtube-dl\\bin\\youtube-dl.exe","exec":"youtube-dl.exe","downloader":"youtube-dl"})
|
|
|
|
|
|
|
|
|
|
var youtubedl = require('youtube-dl');
|
|
|
|
|
|
|
|
|
@ -1180,7 +1179,7 @@ async function generateArgs(url, type, options) {
|
|
|
|
|
downloadConfig = downloadConfig.concat(globalArgs.split(',,'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const default_downloader = getCurrentDownloader() || config_api.getConfigItem('ytdl_default_downloader');
|
|
|
|
|
const default_downloader = utils.getCurrentDownloader() || config_api.getConfigItem('ytdl_default_downloader');
|
|
|
|
|
if (default_downloader === 'yt-dlp') {
|
|
|
|
|
downloadConfig.push('--no-clean-infojson');
|
|
|
|
|
}
|
|
|
|
@ -1361,17 +1360,17 @@ async function autoUpdateYoutubeDL() {
|
|
|
|
|
const default_downloader = config_api.getConfigItem('ytdl_default_downloader');
|
|
|
|
|
const tags_url = download_sources[default_downloader]['tags_url'];
|
|
|
|
|
// get current version
|
|
|
|
|
let current_app_details_exists = fs.existsSync(DETAILS_BIN_PATH);
|
|
|
|
|
let current_app_details_exists = fs.existsSync(CONSTS.DETAILS_BIN_PATH);
|
|
|
|
|
if (!current_app_details_exists) {
|
|
|
|
|
logger.warn(`Failed to get youtube-dl binary details at location '${DETAILS_BIN_PATH}'. Generating file...`);
|
|
|
|
|
fs.writeJSONSync(DETAILS_BIN_PATH, {"version":"2020.00.00", "downloader": default_downloader});
|
|
|
|
|
logger.warn(`Failed to get youtube-dl binary details at location '${CONSTS.DETAILS_BIN_PATH}'. Generating file...`);
|
|
|
|
|
fs.writeJSONSync(CONSTS.DETAILS_BIN_PATH, {"version":"2020.00.00", "downloader": default_downloader});
|
|
|
|
|
}
|
|
|
|
|
let current_app_details = JSON.parse(fs.readFileSync(DETAILS_BIN_PATH));
|
|
|
|
|
let current_app_details = JSON.parse(fs.readFileSync(CONSTS.DETAILS_BIN_PATH));
|
|
|
|
|
let current_version = current_app_details['version'];
|
|
|
|
|
let current_downloader = current_app_details['downloader'];
|
|
|
|
|
let stored_binary_path = current_app_details['path'];
|
|
|
|
|
if (!stored_binary_path || typeof stored_binary_path !== 'string') {
|
|
|
|
|
// logger.info(`INFO: Failed to get youtube-dl binary path at location: ${DETAILS_BIN_PATH}, attempting to guess actual path...`);
|
|
|
|
|
// logger.info(`INFO: Failed to get youtube-dl binary path at location: ${CONSTS.DETAILS_BIN_PATH}, attempting to guess actual path...`);
|
|
|
|
|
const guessed_base_path = 'node_modules/youtube-dl/bin/';
|
|
|
|
|
const guessed_file_path = guessed_base_path + 'youtube-dl' + (is_windows ? '.exe' : '');
|
|
|
|
|
if (fs.existsSync(guessed_file_path)) {
|
|
|
|
@ -1454,15 +1453,10 @@ async function downloadLatestYoutubeDLPBinary(new_version) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function updateDetailsJSON(new_version, downloader) {
|
|
|
|
|
const details_json = fs.readJSONSync(DETAILS_BIN_PATH);
|
|
|
|
|
const details_json = fs.readJSONSync(CONSTS.DETAILS_BIN_PATH);
|
|
|
|
|
if (new_version) details_json['version'] = new_version;
|
|
|
|
|
details_json['downloader'] = downloader;
|
|
|
|
|
fs.writeJSONSync(DETAILS_BIN_PATH, details_json);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getCurrentDownloader() {
|
|
|
|
|
const details_json = fs.readJSONSync(DETAILS_BIN_PATH);
|
|
|
|
|
return details_json['downloader'];
|
|
|
|
|
fs.writeJSONSync(CONSTS.DETAILS_BIN_PATH, details_json);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function checkExistsWithTimeout(filePath, timeout) {
|
|
|
|
|