aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/Main.java
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2026-05-14 01:15:04 -0700
committerPinapelz <yukais@pinapelz.com>2026-05-14 01:16:23 -0700
commit328e5c2fde86e65dbe2f9f199acabc30ba1d7e70 (patch)
treebee8da4942e10354bc4d036132a333f4f9ef21b7 /src/main/java/Main.java
parent34606cd95856449bdb8dc3a5d3e0ff823bb6af4e (diff)
add filename override for time-range videosv1.7
Diffstat (limited to 'src/main/java/Main.java')
-rw-r--r--src/main/java/Main.java33
1 files changed, 21 insertions, 12 deletions
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 {
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage