Option für eigen Namen
This commit is contained in:
63
main.py
63
main.py
@@ -186,12 +186,23 @@ class DownloadThread(QThread):
|
||||
self.update_signal.emit(f"Debug - Vollständiger Ausgabepfad: {output_path}")
|
||||
cmd.extend(["-o", output_path])
|
||||
else:
|
||||
default_path = os.path.join(self.output_dir, "%(title)s.%(ext)s")
|
||||
self.update_signal.emit(f"Debug - Standard-Ausgabepfad: {default_path}")
|
||||
cmd.extend(["-o", default_path])
|
||||
# Verwende benutzerdefinierten Namen, wenn in den Presets aktiviert
|
||||
if self.preset_data.get("custom_output_template", False) and self.preset_data.get("output_template"):
|
||||
output_template = self.preset_data.get("output_template")
|
||||
output_path = os.path.join(self.output_dir, output_template)
|
||||
self.update_signal.emit(f"Debug - Benutzerdefinierte Name: {output_path}")
|
||||
else:
|
||||
output_path = os.path.join(self.output_dir, "%(title)s.%(ext)s")
|
||||
self.update_signal.emit(f"Debug - Standard-Ausgabepfad: {output_path}")
|
||||
cmd.extend(["-o", output_path])
|
||||
elif self.output_filename:
|
||||
self.update_signal.emit(f"Debug - Nur Ausgabedateiname: {self.output_filename}")
|
||||
cmd.extend(["-o", self.output_filename])
|
||||
elif self.preset_data.get("custom_output_template", False) and self.preset_data.get("output_template"):
|
||||
# Wenn kein Ausgabeverzeichnis, aber benutzerdefinierte Vorlage vorhanden
|
||||
output_template = self.preset_data.get("output_template")
|
||||
self.update_signal.emit(f"Debug - Nur benutzerdefinierte Name: {output_template}")
|
||||
cmd.extend(["-o", output_template])
|
||||
|
||||
cmd.append(self.url)
|
||||
|
||||
@@ -718,7 +729,9 @@ class PresetDialog(QDialog):
|
||||
"episode": "1",
|
||||
"extension": ".mkv",
|
||||
"custom_path": "",
|
||||
"is_audio": False
|
||||
"is_audio": False,
|
||||
"custom_output_template": False,
|
||||
"output_template": "%(title)s.%(ext)s"
|
||||
}
|
||||
|
||||
self.setup_ui()
|
||||
@@ -798,7 +811,34 @@ class PresetDialog(QDialog):
|
||||
subtitle_tab.setLayout(subtitle_layout)
|
||||
tabs.addTab(subtitle_tab, "Untertitel")
|
||||
|
||||
# Tab 3: Authentifizierung
|
||||
# Tab 3: Output Template
|
||||
output_tab = QWidget()
|
||||
output_layout = QFormLayout()
|
||||
|
||||
# Custom Output Template Checkbox
|
||||
self.custom_output_template_cb = QCheckBox("Eigenen Namen verwenden")
|
||||
self.custom_output_template_cb.setChecked(self.preset_data.get("custom_output_template", False))
|
||||
output_layout.addRow(self.custom_output_template_cb)
|
||||
|
||||
# Output Template Field
|
||||
self.output_template_edit = QLineEdit(self.preset_data.get("output_template", "%(title)s.%(ext)s"))
|
||||
self.output_template_edit.setPlaceholderText("z.B. %(title)s.%(ext)s, %(uploader)s/%(title)s.%(ext)s")
|
||||
output_layout.addRow("Name:", self.output_template_edit)
|
||||
|
||||
# Add examples and documentation link
|
||||
examples_label = QLabel("<b>Beispiele:</b><br>" +
|
||||
"%(title)s-%(id)s.%(ext)s<br>" +
|
||||
"%(uploader)s/%(title)s.%(ext)s<br>" +
|
||||
"%(playlist)s/%(playlist_index)s-%(title)s.%(ext)s<br><br>" +
|
||||
"<a href='https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#output-template'>Mehr Beispiele in der yt-dlp Dokumentation</a>")
|
||||
examples_label.setOpenExternalLinks(True)
|
||||
examples_label.setTextFormat(Qt.RichText)
|
||||
output_layout.addRow(examples_label)
|
||||
|
||||
output_tab.setLayout(output_layout)
|
||||
tabs.addTab(output_tab, "Name")
|
||||
|
||||
# Tab 4: Authentifizierung
|
||||
auth_tab = QWidget()
|
||||
auth_layout = QFormLayout()
|
||||
|
||||
@@ -971,7 +1011,9 @@ class PresetDialog(QDialog):
|
||||
"temp_de_filename": self.temp_de_filename_edit.text(),
|
||||
"de_sub_filename": self.de_sub_filename_edit.text(),
|
||||
"de_forced_sub_filename": self.de_forced_sub_filename_edit.text(),
|
||||
"cleanup_temp": self.cleanup_temp_cb.isChecked()
|
||||
"cleanup_temp": self.cleanup_temp_cb.isChecked(),
|
||||
"custom_output_template": self.custom_output_template_cb.isChecked(),
|
||||
"output_template": self.output_template_edit.text()
|
||||
}
|
||||
|
||||
def browse_custom_path(self):
|
||||
@@ -1104,7 +1146,7 @@ class OptionenDialog(QDialog):
|
||||
tab_info = QWidget()
|
||||
info_layout = QVBoxLayout()
|
||||
info_text = (
|
||||
"<b>Version:</b> 1.3<br>"
|
||||
"<b>Version:</b> 1.4<br>"
|
||||
"<b>© 2025 Akamaru</b><br>"
|
||||
"<b>Sourcecode:</b> <a href='https://git.ponywave.de/Akamaru/video-download-helper'>https://git.ponywave.de/Akamaru/video-download-helper</a><br>"
|
||||
"<b>Erstellt mit Hilfe von Claude, GPT & Gemini</b>"
|
||||
@@ -1768,8 +1810,13 @@ class MainWindow(QMainWindow):
|
||||
output_name = output_name.replace("\\\\", "\\")
|
||||
output_filename = output_name
|
||||
else:
|
||||
output_filename = "%(title)s.%(ext)s"
|
||||
# Verwende benutzerdefinierte Ausgabevorlage, wenn in den Presets aktiviert
|
||||
if preset.get("custom_output_template", False) and preset.get("output_template"):
|
||||
output_filename = preset.get("output_template")
|
||||
else:
|
||||
output_filename = "%(title)s.%(ext)s"
|
||||
|
||||
# Füge den Ausgabepfad zum Befehl hinzu
|
||||
if output_dir:
|
||||
output_path = os.path.join(output_dir, output_filename)
|
||||
cmd.extend(["-o", output_path])
|
||||
|
Reference in New Issue
Block a user