Fix for aria2 download status to UI

This commit is contained in:
ebolam 2022-09-21 13:07:49 -04:00
parent f3d6beb578
commit 8915ee7eb3
1 changed files with 18 additions and 9 deletions

View File

@ -178,16 +178,25 @@ def num_layers(config):
# Downloads huggingface checkpoints using aria2c if possible
#==================================================================#
from flask_socketio import emit
def _download_with_aria2(aria2_config: str, total_length: int, directory: str = ".", user_agent=None, force_download=False, use_auth_token=None):
class Send_to_socketio(object):
def write(self, bar):
time.sleep(0.01)
bar = bar.replace("\r", "").replace("\n", "")
if bar != "":
try:
print(bar, end="\n")
try:
print(bar, end = "\r")
emit('from_server', {'cmd': 'model_load_status', 'data': bar.replace(" ", " ")}, broadcast=True)
except:
pass
eventlet.sleep(seconds=0)
except:
pass
def flush(self):
pass
def _download_with_aria2(aria2_config: str, total_length: int, directory: str = ".", user_agent=None, force_download=False, use_auth_token=None):
import transformers
lengths = {}
s = requests.Session()
@ -211,7 +220,7 @@ def _download_with_aria2(aria2_config: str, total_length: int, directory: str =
done = True
break
if bar is None:
bar = tqdm(total=total_length, desc=f"[aria2] Downloading model", unit="B", unit_scale=True, unit_divisor=1000)
bar = tqdm(total=total_length, desc=f"[aria2] Downloading model", unit="B", unit_scale=True, unit_divisor=1000, file=Send_to_socketio())
visited = set()
for x in r:
filename = x["files"][0]["path"]