mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-06-13 14:09:25 -03:00
fix(downloads): accept optional completed_at in complete_download to preserve original timestamps
This commit is contained in:
@@ -1785,6 +1785,8 @@ class ModelDownloadHandler:
|
|||||||
bytes_downloaded = 0
|
bytes_downloaded = 0
|
||||||
total_bytes_raw = request.query.get("total_bytes")
|
total_bytes_raw = request.query.get("total_bytes")
|
||||||
total_bytes = int(total_bytes_raw) if total_bytes_raw else None
|
total_bytes = int(total_bytes_raw) if total_bytes_raw else None
|
||||||
|
completed_at_raw = request.query.get("completed_at")
|
||||||
|
completed_at = float(completed_at_raw) if completed_at_raw else None
|
||||||
|
|
||||||
service = await DownloadQueueService.get_instance()
|
service = await DownloadQueueService.get_instance()
|
||||||
item = await service.complete_download(
|
item = await service.complete_download(
|
||||||
@@ -1794,6 +1796,7 @@ class ModelDownloadHandler:
|
|||||||
file_path=file_path,
|
file_path=file_path,
|
||||||
bytes_downloaded=bytes_downloaded,
|
bytes_downloaded=bytes_downloaded,
|
||||||
total_bytes=total_bytes,
|
total_bytes=total_bytes,
|
||||||
|
completed_at=completed_at,
|
||||||
)
|
)
|
||||||
if item is None:
|
if item is None:
|
||||||
return web.json_response(
|
return web.json_response(
|
||||||
|
|||||||
@@ -349,6 +349,7 @@ class DownloadQueueService:
|
|||||||
file_path: Optional[str] = None,
|
file_path: Optional[str] = None,
|
||||||
bytes_downloaded: int = 0,
|
bytes_downloaded: int = 0,
|
||||||
total_bytes: Optional[int] = None,
|
total_bytes: Optional[int] = None,
|
||||||
|
completed_at: Optional[float] = None,
|
||||||
) -> Optional[dict[str, Any]]:
|
) -> Optional[dict[str, Any]]:
|
||||||
"""Atomically move a download from the queue into the history table.
|
"""Atomically move a download from the queue into the history table.
|
||||||
|
|
||||||
@@ -356,6 +357,9 @@ class DownloadQueueService:
|
|||||||
queue, and inserts a corresponding history entry with the given
|
queue, and inserts a corresponding history entry with the given
|
||||||
terminal status (``completed``, ``failed``, or ``canceled``).
|
terminal status (``completed``, ``failed``, or ``canceled``).
|
||||||
|
|
||||||
|
When *completed_at* is provided it is used as the completion
|
||||||
|
timestamp; otherwise ``time.time()`` is used.
|
||||||
|
|
||||||
Returns the original queue record (before deletion) on success,
|
Returns the original queue record (before deletion) on success,
|
||||||
or ``None`` if the download was not found in the queue.
|
or ``None`` if the download was not found in the queue.
|
||||||
"""
|
"""
|
||||||
@@ -368,7 +372,7 @@ class DownloadQueueService:
|
|||||||
if row is None:
|
if row is None:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
now = time.time()
|
now = completed_at if completed_at is not None else time.time()
|
||||||
conn.execute(
|
conn.execute(
|
||||||
"DELETE FROM download_queue WHERE download_id = ?",
|
"DELETE FROM download_queue WHERE download_id = ?",
|
||||||
(download_id,),
|
(download_id,),
|
||||||
|
|||||||
Reference in New Issue
Block a user