mirror of
https://github.com/darkzoul5/YoutubePlaylistSync.git
synced 2026-11-08 08:15:12 +02:00
fix: add missing imports for queue target file display
This commit is contained in:
1 parent
9a47d87220
commit
373a19510e
1 file changed
+28
-9
@@ -1,5 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
from PySide6 import QtCore, QtWidgets
|
from PySide6 import QtCore, QtWidgets
|
||||||
|
|
||||||
from ..smooth_scroll import enable_smooth_scrolling
|
from ..smooth_scroll import enable_smooth_scrolling
|
||||||
@@ -109,6 +111,22 @@ class QueuePage(QtWidgets.QWidget):
|
|||||||
self._table.setItem(row, col, item)
|
self._table.setItem(row, col, item)
|
||||||
return item
|
return item
|
||||||
|
|
||||||
|
def _target_text(self, payload: dict, current: str = "") -> str:
|
||||||
|
value = (
|
||||||
|
payload.get("target")
|
||||||
|
or payload.get("filename")
|
||||||
|
or payload.get("output_path")
|
||||||
|
or payload.get("path")
|
||||||
|
or payload.get("to")
|
||||||
|
or current
|
||||||
|
)
|
||||||
|
if not value:
|
||||||
|
return current
|
||||||
|
try:
|
||||||
|
return Path(str(value)).name or str(value)
|
||||||
|
except Exception:
|
||||||
|
return str(value)
|
||||||
|
|
||||||
@QtCore.Slot()
|
@QtCore.Slot()
|
||||||
def _flush_pending(self) -> None:
|
def _flush_pending(self) -> None:
|
||||||
if not self._pending_by_key:
|
if not self._pending_by_key:
|
||||||
@@ -131,12 +149,13 @@ class QueuePage(QtWidgets.QWidget):
|
|||||||
speed_item = self._ensure_item(row, 4, "")
|
speed_item = self._ensure_item(row, 4, "")
|
||||||
eta_item = self._ensure_item(row, 5, "")
|
eta_item = self._ensure_item(row, 5, "")
|
||||||
target_item = self._ensure_item(row, 6, "")
|
target_item = self._ensure_item(row, 6, "")
|
||||||
|
target_text = target_item.text()
|
||||||
|
|
||||||
if name == "DownloadStarted":
|
if name == "DownloadStarted":
|
||||||
status_item.setText("started")
|
status_item.setText("started")
|
||||||
tgt = payload.get("target") or payload.get("filename") or ""
|
target_text = self._target_text(payload, target_text)
|
||||||
if tgt:
|
if target_text:
|
||||||
target_item.setText(str(tgt))
|
target_item.setText(target_text)
|
||||||
elif name == "DownloadProgress":
|
elif name == "DownloadProgress":
|
||||||
status_item.setText(str(payload.get("status") or "downloading"))
|
status_item.setText(str(payload.get("status") or "downloading"))
|
||||||
prog = payload.get("progress")
|
prog = payload.get("progress")
|
||||||
@@ -155,14 +174,14 @@ class QueuePage(QtWidgets.QWidget):
|
|||||||
et = payload.get("eta")
|
et = payload.get("eta")
|
||||||
if isinstance(et, (int, float)) and et >= 0:
|
if isinstance(et, (int, float)) and et >= 0:
|
||||||
eta_item.setText(f"{int(et)}s")
|
eta_item.setText(f"{int(et)}s")
|
||||||
fn = payload.get("filename")
|
target_text = self._target_text(payload, target_text)
|
||||||
if fn:
|
if target_text:
|
||||||
target_item.setText(str(fn))
|
target_item.setText(target_text)
|
||||||
elif name == "DownloadCompleted":
|
elif name == "DownloadCompleted":
|
||||||
status_item.setText("completed")
|
status_item.setText("completed")
|
||||||
tgt = payload.get("target") or ""
|
target_text = self._target_text(payload, target_text)
|
||||||
if tgt:
|
if target_text:
|
||||||
target_item.setText(str(tgt))
|
target_item.setText(target_text)
|
||||||
bar = self._table.cellWidget(row, 3)
|
bar = self._table.cellWidget(row, 3)
|
||||||
if bar is None:
|
if bar is None:
|
||||||
bar = QtWidgets.QProgressBar()
|
bar = QtWidgets.QProgressBar()
|
||||||
|
|||||||
Reference in new issue
Block a user