From 86cbfea08fc6d1826313b3ad0ea26e9fdf98678b Mon Sep 17 00:00:00 2001 From: Isaac Abadi Date: Sat, 25 Jun 2022 17:22:08 -0400 Subject: [PATCH] UI & logs now use proper fork name rather than just youtube-dl --- Public API v1.yaml | 2 ++ backend/downloader.js | 7 +++---- src/api-types/models/Task.ts | 1 + src/app/components/tasks/tasks.component.ts | 20 ++++++++------------ src/app/main/main.component.ts | 3 ++- src/app/posts.services.ts | 5 +++-- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/Public API v1.yaml b/Public API v1.yaml index f9879e8..9f335f8 100644 --- a/Public API v1.yaml +++ b/Public API v1.yaml @@ -2527,6 +2527,8 @@ components: properties: key: type: string + title: + type: string last_ran: type: number last_confirmed: diff --git a/backend/downloader.js b/backend/downloader.js index a0ae6e6..ce4223c 100644 --- a/backend/downloader.js +++ b/backend/downloader.js @@ -376,6 +376,8 @@ async function downloadQueuedFile(download_uid) { // helper functions exports.generateArgs = async (url, type, options, user_uid = null, simulated = false) => { + const default_downloader = utils.getCurrentDownloader() || config_api.getConfigItem('ytdl_default_downloader'); + const audioFolderPath = config_api.getConfigItem('ytdl_audio_folder_path'); const videoFolderPath = config_api.getConfigItem('ytdl_video_folder_path'); const usersFolderPath = config_api.getConfigItem('ytdl_users_base_path'); @@ -413,8 +415,6 @@ exports.generateArgs = async (url, type, options, user_uid = null, simulated = f if (!is_audio && !is_youtube) { // tiktok videos fail when using the default format qualityPath = null; - } else if (!is_audio && !is_youtube && (url.includes('reddit') || url.includes('pornhub'))) { - qualityPath = ['-f', 'bestvideo+bestaudio'] } if (customArgs) { @@ -505,7 +505,6 @@ exports.generateArgs = async (url, type, options, user_uid = null, simulated = f downloadConfig.push('-r', rate_limit); } - const default_downloader = utils.getCurrentDownloader() || config_api.getConfigItem('ytdl_default_downloader'); if (default_downloader === 'yt-dlp') { downloadConfig.push('--no-clean-infojson'); } @@ -515,7 +514,7 @@ exports.generateArgs = async (url, type, options, user_uid = null, simulated = f // filter out incompatible args downloadConfig = filterArgs(downloadConfig, is_audio); - if (!simulated) logger.verbose(`youtube-dl args being used: ${downloadConfig.join(',')}`); + if (!simulated) logger.verbose(`${default_downloader} args being used: ${downloadConfig.join(',')}`); return downloadConfig; } diff --git a/src/api-types/models/Task.ts b/src/api-types/models/Task.ts index 2533c98..e6f68be 100644 --- a/src/api-types/models/Task.ts +++ b/src/api-types/models/Task.ts @@ -4,6 +4,7 @@ export type Task = { key: string; + title?: string; last_ran: number; last_confirmed: number; running: boolean; diff --git a/src/app/components/tasks/tasks.component.ts b/src/app/components/tasks/tasks.component.ts index 8fec372..c4dd2a1 100644 --- a/src/app/components/tasks/tasks.component.ts +++ b/src/app/components/tasks/tasks.component.ts @@ -7,6 +7,7 @@ import { ConfirmDialogComponent } from 'app/dialogs/confirm-dialog/confirm-dialo import { RestoreDbDialogComponent } from 'app/dialogs/restore-db-dialog/restore-db-dialog.component'; import { UpdateTaskScheduleDialogComponent } from 'app/dialogs/update-task-schedule-dialog/update-task-schedule-dialog.component'; import { PostsService } from 'app/posts.services'; +import { Task } from 'api-types'; @Component({ selector: 'app-tasks', @@ -17,7 +18,7 @@ export class TasksComponent implements OnInit { interval_id = null; tasks_check_interval = 1500; - tasks = null; + tasks: Task[] = null; tasks_retrieved = false; displayedColumns: string[] = ['title', 'last_ran', 'last_confirmed', 'status', 'actions']; @@ -55,6 +56,11 @@ export class TasksComponent implements OnInit { getTasks(): void { this.postsService.getTasks().subscribe(res => { + for (const task of res['tasks']) { + if (task.title.includes('youtube-dl')) { + task.title = task.title.replace('youtube-dl', this.postsService.config.Advanced.default_downloader); + } + } if (this.tasks) { if (JSON.stringify(this.tasks) === JSON.stringify(res['tasks'])) return; for (const task of res['tasks']) { @@ -94,7 +100,7 @@ export class TasksComponent implements OnInit { }); } - scheduleTask(task: any): void { + scheduleTask(task: Task): void { // open dialog const dialogRef = this.dialog.open(UpdateTaskScheduleDialogComponent, { data: { @@ -152,13 +158,3 @@ export class TasksComponent implements OnInit { } } - -export interface Task { - key: string; - title: string; - last_ran: number; - last_confirmed: number; - running: boolean; - confirming: boolean; - data: unknown; -} \ No newline at end of file diff --git a/src/app/main/main.component.ts b/src/app/main/main.component.ts index 26078ff..54db31d 100644 --- a/src/app/main/main.component.ts +++ b/src/app/main/main.component.ts @@ -591,7 +591,8 @@ export class MainComponent implements OnInit { if (passwordIndex !== -1 && passwordIndex !== simulated_args.length - 1) { simulated_args[passwordIndex + 1] = simulated_args[passwordIndex + 1].replace(/./g, '*'); } - this.simulatedOutput = `youtube-dl ${this.url} ${simulated_args.join(' ')}`; + const downloader = this.postsService.config.Advanced.default_downloader; + this.simulatedOutput = `${downloader} ${this.url} ${simulated_args.join(' ')}`; } }); } diff --git a/src/app/posts.services.ts b/src/app/posts.services.ts index 6417f5c..9115437 100644 --- a/src/app/posts.services.ts +++ b/src/app/posts.services.ts @@ -100,7 +100,8 @@ import { UpdateFileRequest, Sort, FileTypeFilter, - GetAllFilesRequest + GetAllFilesRequest, + GetAllTasksResponse } from '../api-types'; import { isoLangs } from './settings/locales_list'; import { Title } from '@angular/platform-browser'; @@ -596,7 +597,7 @@ export class PostsService implements CanActivate { } getTasks() { - return this.http.post(this.path + 'getTasks', {}, this.httpOptions); + return this.http.post(this.path + 'getTasks', {}, this.httpOptions); } resetTasks() {