From f140a977dd16b8a5357fccb136b16a1f4195cfe6 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Thu, 14 May 2026 01:15:04 -0700 Subject: add filename override for time-range videos --- src/main/java/Main.java | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) (limited to 'src/main/java/Main.java') diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 0d1ef41..e7c187f 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -17,6 +17,12 @@ import javax.swing.text.DefaultCaret; import static UI.Modal.chooseBrowserType; import static UI.Modal.showTextFileChooser; +class DownloadTask { + String url = ""; + String range = ""; + String filename = ""; + +} public class Main extends JFrame { private static String completedDir; @@ -96,12 +102,19 @@ public class Main extends JFrame { String browser = configuration.get("browser"); int totalSongs = songs.size(); int songsProcessed = 0; - + Downloader downloader = new Downloader(completedDir, outputArea); for (String line : songs) { - System.out.println(line); - Downloader downloader = new Downloader(completedDir, outputArea); + DownloadTask task = new DownloadTask(); + String[] parts = line.split(","); + task.url = parts[0]; + if (parts.length > 1) { + task.range = parts[1].trim(); + } + if (parts.length > 2) { + task.filename = parts[2].trim(); + } String videoId = extractVideoId(line); - if(downloader.videoIdAlreadyDownloaded(videoId) && !line.contains(",")){ // if video has a time range we assume its on purpose and not a duplicate + if(downloader.videoIdAlreadyDownloaded(videoId) && !task.range.isEmpty()){ // if video has a time range we assume its on purpose and not a duplicate int continueConfirm = JOptionPane.showConfirmDialog( null, "A file with the same video ID (" + videoId + ") already exists in the output directoy. Download anyways?", @@ -113,23 +126,19 @@ public class Main extends JFrame { continue; } } - boolean success = false; + boolean success = false; for (int attempt = 1; attempt <= 3; attempt++) { try { if (line.contains(",")) { - String[] parts = line.split(","); - String url = parts[0]; - String stamp = parts[1]; - - if (downloader.download(url, stamp, browser)) { + if (downloader.download(task.url, task.range, task.filename, browser)) { success = true; break; } else { - System.out.println("Attempt " + attempt + " failed for " + url); + System.out.println("Attempt " + attempt + " failed for " + task.url); } } else { - if (downloader.download(line, browser)) { + if (downloader.download(task.url, task.filename, browser)) { success = true; break; } else { -- cgit v1.2.3