mirror of
https://github.com/Tzahi12345/YoutubeDL-Material.git
synced 2026-04-17 08:11:28 +03:00
Fixed issue where one-off playlist downlaods would only include the first video
This commit is contained in:
@@ -198,7 +198,7 @@ async function registerFileDBManual(file_object) {
|
|||||||
path_object = path.parse(file_object['path']);
|
path_object = path.parse(file_object['path']);
|
||||||
file_object['path'] = path.format(path_object);
|
file_object['path'] = path.format(path_object);
|
||||||
|
|
||||||
exports.insertRecordIntoTable('files', file_object, {path: file_object['path']})
|
await exports.insertRecordIntoTable('files', file_object, {path: file_object['path']})
|
||||||
|
|
||||||
return file_object;
|
return file_object;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -203,6 +203,7 @@ async function collectInfo(download_uid) {
|
|||||||
options.customOutput = category['custom_output'];
|
options.customOutput = category['custom_output'];
|
||||||
options.noRelativePath = true;
|
options.noRelativePath = true;
|
||||||
args = await exports.generateArgs(url, type, options, download['user_uid']);
|
args = await exports.generateArgs(url, type, options, download['user_uid']);
|
||||||
|
args = utils.filterArgs(args, ['--no-simulate']);
|
||||||
info = await exports.getVideoInfoByURL(url, args, download_uid);
|
info = await exports.getVideoInfoByURL(url, args, download_uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -356,7 +357,7 @@ async function downloadQueuedFile(download_uid) {
|
|||||||
if (file_objs.length > 1) {
|
if (file_objs.length > 1) {
|
||||||
// create playlist
|
// create playlist
|
||||||
const playlist_name = file_objs.map(file_obj => file_obj.title).join(', ');
|
const playlist_name = file_objs.map(file_obj => file_obj.title).join(', ');
|
||||||
container = await db_api.createPlaylist(playlist_name, file_objs.map(file_obj => file_obj.uid), type, download['user_uid']);
|
container = await db_api.createPlaylist(playlist_name, file_objs.map(file_obj => file_obj.uid), download['user_uid']);
|
||||||
} else if (file_objs.length === 1) {
|
} else if (file_objs.length === 1) {
|
||||||
container = file_objs[0];
|
container = file_objs[0];
|
||||||
} else {
|
} else {
|
||||||
@@ -506,7 +507,10 @@ exports.generateArgs = async (url, type, options, user_uid = null, simulated = f
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (default_downloader === 'yt-dlp') {
|
if (default_downloader === 'yt-dlp') {
|
||||||
downloadConfig.push('--no-clean-infojson');
|
downloadConfig = utils.filterArgs(downloadConfig, ['--print-json']);
|
||||||
|
|
||||||
|
// in yt-dlp -j --no-simulate is preferable
|
||||||
|
downloadConfig.push('--no-clean-info-json', '-j', '--no-simulate');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -407,7 +407,7 @@ async function generateArgsForSubscription(sub, user_uid, redownload = false, de
|
|||||||
|
|
||||||
const default_downloader = utils.getCurrentDownloader() || config_api.getConfigItem('ytdl_default_downloader');
|
const default_downloader = utils.getCurrentDownloader() || config_api.getConfigItem('ytdl_default_downloader');
|
||||||
if (default_downloader === 'yt-dlp') {
|
if (default_downloader === 'yt-dlp') {
|
||||||
downloadConfig.push('--no-clean-infojson');
|
downloadConfig.push('--no-clean-info-json');
|
||||||
}
|
}
|
||||||
|
|
||||||
downloadConfig = utils.filterArgs(downloadConfig, ['--write-comments']);
|
downloadConfig = utils.filterArgs(downloadConfig, ['--write-comments']);
|
||||||
|
|||||||
@@ -306,7 +306,7 @@ export class MainComponent implements OnInit {
|
|||||||
this.downloadingfile = false;
|
this.downloadingfile = false;
|
||||||
if (!this.autoplay && !this.downloadOnlyMode && !navigate_mode) {
|
if (!this.autoplay && !this.downloadOnlyMode && !navigate_mode) {
|
||||||
// do nothing
|
// do nothing
|
||||||
this.reloadRecentVideos();
|
this.reloadRecentVideos(is_playlist);
|
||||||
} else {
|
} else {
|
||||||
// if download only mode, just download the file. no redirect
|
// if download only mode, just download the file. no redirect
|
||||||
if (force_view === false && this.downloadOnlyMode && !this.iOS) {
|
if (force_view === false && this.downloadOnlyMode && !this.iOS) {
|
||||||
@@ -315,7 +315,7 @@ export class MainComponent implements OnInit {
|
|||||||
} else {
|
} else {
|
||||||
this.downloadFileFromServer(container as DatabaseFile, type);
|
this.downloadFileFromServer(container as DatabaseFile, type);
|
||||||
}
|
}
|
||||||
this.reloadRecentVideos();
|
this.reloadRecentVideos(is_playlist);
|
||||||
} else {
|
} else {
|
||||||
localStorage.setItem('player_navigator', this.router.url.split(';')[0]);
|
localStorage.setItem('player_navigator', this.router.url.split(';')[0]);
|
||||||
if (is_playlist) {
|
if (is_playlist) {
|
||||||
@@ -780,8 +780,9 @@ export class MainComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
reloadRecentVideos(): void {
|
reloadRecentVideos(is_playlist = false): void {
|
||||||
this.postsService.files_changed.next(true);
|
this.postsService.files_changed.next(true);
|
||||||
|
if (is_playlist) this.postsService.playlists_changed.next(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
getURLArray(url_str: string): Array<string> {
|
getURLArray(url_str: string): Array<string> {
|
||||||
|
|||||||
Reference in New Issue
Block a user