Füge "--cookies-from-browser" Flag hinzu // Fix für Icon

This commit is contained in:
Akamaru
2025-11-28 22:40:18 +01:00
parent 12d2a0af73
commit 31889a44a2
4 changed files with 59 additions and 5 deletions

View File

@@ -130,6 +130,8 @@ def build_exe(onedir=False, console=False):
icon_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "icon.ico")
if os.path.exists(icon_path):
cmd.extend(["--icon", icon_path])
# Icon auch als Daten-Datei hinzufügen, damit es zur Laufzeit verfügbar ist
cmd.extend(["--add-data", f"{icon_path}{os.pathsep}."])
print(f"Icon wird verwendet: {icon_path}")
else:
print("Warnung: icon.ico wurde nicht gefunden.")

View File

@@ -51,7 +51,11 @@ DEFAULT_CONFIG = {
"ignore_config": False,
"remux_mkv": False,
"embed_metadata": False,
"use_ffmpeg_location": False
"use_ffmpeg_location": False,
"cookies_from_browser": {
"enabled": False,
"browser": "chrome"
}
},
"hide_default_presets": False,
"enable_adn_tab": False,

View File

@@ -440,6 +440,31 @@ class OptionenDialog(QDialog):
self.cb_use_ffmpeg_location.setChecked(self.selected_flags.get("use_ffmpeg_location", False))
flags_layout.addWidget(self.cb_use_ffmpeg_location)
flags_layout.addWidget(QLabel("Nutzt den konfigurierten FFmpeg-Pfad für yt-dlp."))
# Cookies from Browser
self.cb_cookies_from_browser = QCheckBox("--cookies-from-browser")
cookies_config = self.selected_flags.get("cookies_from_browser", {"enabled": False, "browser": "chrome"})
self.cb_cookies_from_browser.setChecked(cookies_config.get("enabled", False))
self.cb_cookies_from_browser.toggled.connect(self.toggle_browser_combo)
flags_layout.addWidget(self.cb_cookies_from_browser)
# Browser-Auswahl
browser_layout = QHBoxLayout()
browser_layout.addWidget(QLabel("Browser:"))
self.browser_combo = QComboBox()
self.browser_combo.addItem("Chrome", "chrome")
self.browser_combo.addItem("Firefox", "firefox")
# Vorbelegen
browser = cookies_config.get("browser", "chrome")
idx = self.browser_combo.findData(browser)
if idx >= 0:
self.browser_combo.setCurrentIndex(idx)
self.browser_combo.setEnabled(self.cb_cookies_from_browser.isChecked())
browser_layout.addWidget(self.browser_combo)
browser_layout.addStretch()
flags_layout.addLayout(browser_layout)
flags_layout.addWidget(QLabel("Nutzt Cookies aus dem angegebenen Browser."))
tab_flags.setLayout(flags_layout)
tabs.addTab(tab_flags, "yt-dlp-Flags")
@@ -515,6 +540,10 @@ class OptionenDialog(QDialog):
file_path = dialog.selectedFiles()[0]
self.ffmpeg_path_input.setText(file_path)
def toggle_browser_combo(self, checked):
"""Aktiviert/Deaktiviert die Browser-ComboBox basierend auf der Checkbox."""
self.browser_combo.setEnabled(checked)
def get_values(self):
return (
self.output_dir_input.text(),
@@ -523,7 +552,11 @@ class OptionenDialog(QDialog):
"ignore_config": self.cb_ignore_config.isChecked(),
"remux_mkv": self.cb_remux_mkv.isChecked(),
"embed_metadata": self.cb_embed_metadata.isChecked(),
"use_ffmpeg_location": self.cb_use_ffmpeg_location.isChecked()
"use_ffmpeg_location": self.cb_use_ffmpeg_location.isChecked(),
"cookies_from_browser": {
"enabled": self.cb_cookies_from_browser.isChecked(),
"browser": self.browser_combo.currentData()
}
},
self.hide_defaults_cb.isChecked(),
self.mkvmerge_path_input.text(),

15
main.py
View File

@@ -521,6 +521,11 @@ class MainWindow(QMainWindow):
# FFmpeg-Pfad
if flags.get("use_ffmpeg_location") and self.config.get("ffmpeg_path"):
cmd.extend(["--ffmpeg-location", self.config.get("ffmpeg_path")])
# Cookies from Browser
cookies_config = flags.get("cookies_from_browser", {})
if isinstance(cookies_config, dict) and cookies_config.get("enabled", False):
browser = cookies_config.get("browser", "chrome")
cmd.extend(["--cookies-from-browser", browser])
# Untertitel
if preset.get("sublang"):
cmd.extend(["--sub-lang", preset["sublang"]])
@@ -750,6 +755,11 @@ class MainWindow(QMainWindow):
# FFmpeg-Pfad
if flags.get("use_ffmpeg_location") and self.config.get("ffmpeg_path"):
extra_args.extend(["--ffmpeg-location", self.config.get("ffmpeg_path")])
# Cookies from Browser
cookies_config = flags.get("cookies_from_browser", {})
if isinstance(cookies_config, dict) and cookies_config.get("enabled", False):
browser = cookies_config.get("browser", "chrome")
extra_args.extend(["--cookies-from-browser", browser])
# Untertitel
if preset.get("sublang"):
extra_args.extend(["--sub-lang", preset["sublang"]])
@@ -1001,6 +1011,11 @@ class MainWindow(QMainWindow):
extra_args.extend(["--downloader", "ffmpeg", "--hls-use-mpegts"])
if flags.get("use_ffmpeg_location") and self.config.get("ffmpeg_path"):
extra_args.extend(["--ffmpeg-location", self.config.get("ffmpeg_path")])
# Cookies from Browser
cookies_config = flags.get("cookies_from_browser", {})
if isinstance(cookies_config, dict) and cookies_config.get("enabled", False):
browser = cookies_config.get("browser", "chrome")
extra_args.extend(["--cookies-from-browser", browser])
if preset.get("sublang"):
extra_args.extend(["--sub-lang", preset["sublang"]])
if preset.get("embed_subs"):