Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions glob/manager_downloader.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,8 @@ def aria2_download_url(model_url: str, model_dir: str, filename: str):
import tqdm
import time

if model_dir.startswith(core.comfy_path):
model_dir = model_dir[len(core.comfy_path) :]

download_dir = model_dir if model_dir.startswith('/') else os.path.join('/models', model_dir)
download_dir = model_dir
filename += '.downloading' # aria2 uses .downloading suffix for incomplete files

download = aria2_find_task(download_dir, filename)
if download is None:
Expand All @@ -104,6 +102,17 @@ def aria2_download_url(model_url: str, model_dir: str, filename: str):
progress_bar.update(download.completed_length - progress_bar.n)
time.sleep(1)
download.update()

if download.is_complete and download.completed_length == download.total_length:
file_path = os.path.join(download_dir, filename)
final_path = file_path[:-len('.downloading')] # remove the .downloading suffix
if os.path.exists(file_path):
os.rename(file_path, final_path)
logging.info(f"Download completed: {final_path}")
else:
logging.error(f"Download directory {file_path} does not exist after download completion.")
else:
logging.error(f"Download failed or incomplete: {download.status} for {model_url}")


def download_url_with_agent(url, save_path):
Expand Down